我有 5 列的表 A:
TableA
--
Name
Tel
Email
Address
我想在电话和电子邮件之间添加一个新列(移动):
TableA
--
Name
Tel
Mobile
Email
Address
如果我使用
ALTER TABLE TableA
ADD COLUMN Mobile INT NOT NULL
移动列被添加到表的末尾。
有没有办法在不删除表并将数据移动到新表的情况下实现这一点?
我有 5 列的表 A:
TableA
--
Name
Tel
Email
Address
我想在电话和电子邮件之间添加一个新列(移动):
TableA
--
Name
Tel
Mobile
Email
Address
如果我使用
ALTER TABLE TableA
ADD COLUMN Mobile INT NOT NULL
移动列被添加到表的末尾。
有没有办法在不删除表并将数据移动到新表的情况下实现这一点?
不,重建表是唯一的方法。请参阅此连接项目进行确认。
如果您相信有点错误的表格设计器,您可以使用 SSMS 为您编写脚本。
除此之外,您可以声明具有所需列顺序的视图,作为将逻辑相关的列组合在一起的一种方式。
如果您看到“不允许保存更改”。在使用 SQL Server 2005 或更高版本的设计器中添加新列后出现消息,您需要选择工具 -> 选项,选择设计器,然后取消选择表选项下名为“防止保存需要重新创建表的更改”的框。完成此步骤后,您应该能够将更改保存在您想要的位置。
奇怪的是,MySQL 允许您使用 SQL 在任何地方添加列,但使用 SQL Server,您只能使用 Designer 来执行此操作。嗯。好像某处一定有隐藏的魔法指令!;-)