为什么我在添加/移动列时会收到表需要删除并重新创建的消息?我相信在添加外键约束后会发生这种情况.
如何在不丢弃表的情况下添加新列?
sql-server sql-server-2005 sql-server-express sql-server-2008
我想知道是否有办法迫使MSSQL Management Studio生成这样的脚本:
ALTER TABLE Mytable
ADD MyCol bit NOT NULL
CONSTRAINT MyColDefault
DEFAULT 0 WITH VALUES
ALTER TABLE [dbo].Mytable
ALTER COLUMN MyCol2 int NULL
GO
Run Code Online (Sandbox Code Playgroud)
当我改变一个表上的一个非常简单的列属性时.如果我在设计器中执行此操作并请求生成的脚本,则脚本不会执行此类简单任务,而是复制tmp表中的所有数据,删除原始表,使用原始表名重命名tmp表.当然,丢弃并重新创建每个约束和关系.
有什么选择我可以改变以改变这种行为吗?或者,这可能是有可能的,在使用上面的简单ALTER TABLE时是否存在一些危险?
谢谢.