2017-02-24 57 views
0

我需要一個SQL查詢,它在現有列後添加一個新列,
因此列將以特定順序添加。
在sqlite中的現有列後添加新列

ALTER TABLE table_name ADD COLUMN MiddleName varchar(50) AFTER Gender. 
+0

您使用的是MS SQL Server還是Sqlite? – jarlh

+0

這是[FAQ](http://www.sqlite.org/faq.html#q11)。 –

回答

0

您有兩種選擇。首先,你可以簡單地用下面的添加新列:

ALTER TABLE {tableName} ADD COLUMN COLNew {type}; 

其次,更復雜,但實際上把你想要它列,將重命名錶:

ALTER TABLE {tableName} RENAME TO TempOldTable; 

希望它有幫助。

+0

感謝Asif的及時回覆。我想添加新的列與現有的列。假設我有4列FirstName,LastName,Email,Gender,City。當我將執行ALTER TABLE {tableName} ADD COLUMN COLNew {type};此查詢將在城市(LastColumn)後添加新列,但在「性別」之後我需要。這是我的要求。 –

+0

@sureshchouksey在SQLite中使用'ALTER TABLE'語句在兩個現有列之間添加列是不可能的。這[按設計工作](http://www.sqlite.org/lang_altertable.html)。新列總是附加到現有列列表的末尾。要在表格行中的特定位置添加列,請使用FIRST或AFTER col_name。默認是最後添加列。您也可以在CHANGE或MODIFY操作中使用FIRST和AFTER對錶格中的列進行重新排序。 –

+0

@sureshchouksey大概重複這可能會幫助你[這裏](http://stackoverflow.com/questions/24477765/sqlite-alter-table-add-column-between-existing-columns)。 –