2010-11-03 3 views
30

Как добавить столбец после другого столбца в MS SQL с помощью SQL-запроса?Добавление столбца после другого столбца в SQL

TempTable ID INT, Тип NVARCHAR (20), Активный бит

Новая_таблица ID INT, Тип NVARCHAR (20), Текст описания, Активный бит

Вот что я хочу, как это сделать

+1

Порядок столбцов не имеет отношения к SQL. Вы можете определить порядок столбцов в операторах SELECT, INSERT или UPDATE. –

+0

Да, я знаю, но мне просто нравятся вещи, структурированные определенным образом. – mattgcon

+1

поскольку столбец ** порядок ** действительно не уместен, в SQL Server/T-SQL такой функции нет. Вам нужно либо использовать интерактивный дизайнер таблиц (который будет воссоздавать всю таблицу в процессе), либо вам просто нужно это сделать. –

ответ

60

Предполагая, что MySQL (EDIT: опубликованы ранее вариант SQL был поставлен):

ALTER TABLE myTable ADD myNewColumn VARCHAR(255) AFTER myOtherColumn 

после окончания срока ключевого слова говорит MySQL, где разместить новый столбец. Вы также можете использовать FIRST для добавления нового столбца в качестве первого столбца в таблице.

+2

это MS SQL, а не MySQL, к сожалению – mattgcon

+3

В этом случае, я считаю, вам нужно воссоздать всю таблицу. Почему порядок столбцов имеет значение? – Hamish

+2

Я просто очень придирчив, и предпочитаю, чтобы таблицы имели определенный порядок. Хорошо, мне просто нужно его воссоздать – mattgcon

4

Это зависит от того, какую базу данных вы используете. В mysql вы должны использовать синтаксис «ALTER TABLE». Я точно не помню, как это сделать, но если бы вы захотели добавить столбец с именем «newcol», который был 200 символов varchar:

ALTER TABLE пример ADD newCol VARCHAR (200) ПОСЛЕ otherCol;

Смежные вопросы