2010-11-03 63 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;

相关问题