2010-11-03 38 views
30

如何使用SQL查詢在MS SQL中的另一列之後添加列?在SQL中的另一列之後添加列

不是Temptable ID INT, 類型爲nvarchar(20), 有效位

newtable的 ID INT, 類型爲nvarchar(20), 說明文字, 有效位

這就是我想要怎麼做

+1

列順序與SQL無關。您可以在SELECT,INSERT或UPDATE語句中定義列順序。 – 2010-11-03 03:43:22

+0

是的,我知道,但我只是喜歡某種方式構造的東西 – mattgcon 2010-11-03 06:13:02

+1

因爲列**命令**確實不相關,所以SQL Server/T-SQL中沒有這種功能。您需要使用交互式表格設計器(這將在流程中重新創建整個表格),或者您必須讓它成爲可能。 – 2010-11-03 06:30:40

回答

60

假設的MySQL(編輯:被提供的SQL變種之前發佈):

ALTER TABLE myTable ADD myNewColumn VARCHAR(255) AFTER myOtherColumn 

的關鍵字後告訴MySQL在哪裏放置新列。您也可以使用FIRST將新列標記爲表中的第一列。

+2

這是MS SQL而不是MySQL不幸的 – mattgcon 2010-11-03 03:37:10

+3

在這種情況下,我相信你必須重新創建整個表。爲什麼列順序很重要? – Hamish 2010-11-03 03:39:40

+2

我真的很挑剔,喜歡桌子有一定的順序。好吧,我只需要重新創建它 – mattgcon 2010-11-03 03:40:50

4

這取決於你使用的數據庫。在MySQL中,你可以使用「ALTER TABLE」語法。我不記得具體是怎麼做的,但是如果你想添加一個名爲'newcol'的列是200字符varchar:

ALTER TABLE示例添加newCol VARCHAR(200)AFTER otherCol;