sql server新插入一列报错

发布于 2022-09-02 01:22:15 字数 235 浏览 4 评论 0

sqlserver数据库想在一列后面新加一列

alter table Factors_copy Add EPIBS DECIMAL(18,5) AFTER ETP5

总是会报错

[Err] 42000 - [SQL Server]'AFTER' 附近有语法错误。

是不是sqlserver不支持这么写呢
急,请问该怎么解决

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

温柔戏命师 2022-09-09 01:22:15
  1. AFTER这个语法在SQLServer中不支持,在MySQL当中是合法的;

  2. 如果实在要调整字段的顺序,只有通过SQLServer Management Studio来拖动字段的顺序;还有一种方法是重新建立一个新的表,然后将原来表中的数据导入,但是不推荐这样的做法。

  3. 其实字段的顺序并不重要,影响的只是 select * 的查询字段顺序,然而在程序当中基本不会使用select *来执行查询,所以无需纠结这个问题。如果强迫症或者实在要这么做,只能参考第2条做法。

回心转意 2022-09-09 01:22:15

MSSQL不支持这样的语法

  1. 其实每个table的colomn的信息及位置顺序是存储在数据字典INFORMATION_SCHEMA.COLUMNS的,可以尝试去改变数据字典中的信息来达到目的

  2. 增加一个field到特定的位置对于关系型数据库其实并没有太大的意义,如@lv12312所言

  3. 另外一种方法

Select ColumnA, ColumnB, ColumnC Into NewTable from OldTable;
Drop Table OldTable;
EXEC sp_rename 'NewTable', 'OldTable';
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文