问题更具体针对sql server和t-sql,但知道其他db产品会发生什么会很有趣。
答案 0 :(得分:3)
并非总是如此,如果您打开某个埋藏选项,SQL Server会强制您在必要时明确执行此操作。此选项位于:
Tools / Options / Designers / Table and Database Designers
"Prevent saving changes that requiere table re-creation"
对于缩小的图片感到抱歉,SO似乎正在这样做,但这是项目......
答案 1 :(得分:2)
我已在SQL Server Table Columns Under the Hood详细介绍了这个主题。答案是不,删除列不会重新创建表。
但是,某些工具可能会重新创建表,作为公开“简化”表管理界面的一部分,如SSMS表设计器或模式差异工具,但它确实意味着该工具正在发布T-SQL创建一个新表,复制数据,然后删除旧表。这正是我避免使用所有这些工具,包括SSMS表设计器,并且不赞成所有基于差异的模式比较工具而选择explicit upgrade scripts的原因。