SQL Server:添加列错误

时间:2015-10-19 08:25:48

标签: sql-server

我仍然在SQL Server中找到自己的脚,我正在尝试添加一个简单的列,并且它会抛出错误。我正在尝试在KinAdr3列之后添加KinAdr2列,但它会抛出以下错误

  

Msg 102,Level 15,State 1,Line 5
  “AFTER”附近的语法不正确。

以下是我尝试执行的SQL语句

ALTER TABLE TBL_MEDICAL_Patient
ADD KinAdr3 nVARCHAR(50) 
AFTER KinAdr2

提前致谢

1 个答案:

答案 0 :(得分:4)

原因很简单,因为上述语法在MySQL中有效但在SQL Server中无效。在SQL Server中,以下语法有效:

ALTER TABLE tablename ADD columnname INT

但是,用户希望在两列之间添加列。 SQL Server是关系引擎。在任何T-SQL操作中,列的顺序都无关紧要。在大多数情况下并不重要(除非表格特别大,并且它有许多NULL列,它会影响表的大小)。实际上,只要用户想要向表中添加列,他/她就应该只使用列,然后使用列名以表中的特定顺序检索列。

在T-SQL查询中指定列的名称总是一个好主意(使用*确实是一个坏主意,但这超出了本博文的范围。)

有关详细信息,请参阅SQL SERVER – How to Add Column at Specific Location in Table