Sql 是否在ALTERTABLE drop列上删除并重新创建表?
这个问题对于sql server和t-sql更为具体,但想知道其他db产品中会发生什么情况是很有意思的。不总是这样,如果您启用了某种隐藏选项,sql server会强制您在必要时显式执行此操作。此选项位于:Sql 是否在ALTERTABLE drop列上删除并重新创建表?,sql,sql-server,tsql,Sql,Sql Server,Tsql,这个问题对于sql server和t-sql更为具体,但想知道其他db产品中会发生什么情况是很有意思的。不总是这样,如果您启用了某种隐藏选项,sql server会强制您在必要时显式执行此操作。此选项位于: Tools / Options / Designers / Table and Database Designers "Prevent saving changes that requiere table re-creation" 对于缩小的图像,很抱歉,所以似乎正在这样做,但这里是
Tools / Options / Designers / Table and Database Designers
"Prevent saving changes that requiere table re-creation"
对于缩小的图像,很抱歉,所以似乎正在这样做,但这里是项目
我在第二章中详细讨论了这个问题。答案是否,拖放列不会重新创建表 但是,有些工具可能会在公开“简化”表管理界面时重新创建表,如SSMS表设计器或模式差异工具,但这实际上意味着该工具正在发出T-SQL以创建新表、复制数据,然后删除旧表。这正是我为什么不使用所有这些工具(包括SSMS表设计器)的原因,我不喜欢所有基于diff的模式比较工具,而是喜欢使用