sqlserver数据库想在一列后面新加一列alter table Factors_copy Add EPIBS DECIMAL(18,5) AFTER ETP5总是会报错[Err] 42000 - [SQL Server]'AFTER' 附近有语法错误。是不是sqlserver不支持这么写呢急,请问该怎么解决
2 回答
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
MSSQL不支持这样的语法
其实每个table的colomn的信息及位置顺序是存储在数据字典INFORMATION_SCHEMA.COLUMNS的,可以尝试去改变数据字典中的信息来达到目的
增加一个field到特定的位置对于关系型数据库其实并没有太大的意义,如@lv12312所言
另外一种方法
Select ColumnA, ColumnB, ColumnC Into NewTable from OldTable; Drop Table OldTable; EXEC sp_rename 'NewTable', 'OldTable';
慕标5832272
TA贡献1966条经验 获得超4个赞
AFTER这个语法在SQLServer中不支持,在MySQL当中是合法的;
如果实在要调整字段的顺序,只有通过SQLServer Management Studio来拖动字段的顺序;还有一种方法是重新建立一个新的表,然后将原来表中的数据导入,但是不推荐这样的做法。
其实字段的顺序并不重要,影响的只是
select *
的查询字段顺序,然而在程序当中基本不会使用select *
来执行查询,所以无需纠结这个问题。如果强迫症或者实在要这么做,只能参考第2条做法。
- 2 回答
- 0 关注
- 1050 浏览
添加回答
举报
0/150
提交
取消