我在生产中有一个包含数百万行的 SQL Server 表,结果我需要向其中添加一列。或者,更准确地说,我需要向表表示的实体添加一个字段。
从语法上讲,这不是问题,如果表没有那么多行并且没有在生产中,那么这会很容易。
我真正追求的是行动方针。有很多网站都有非常大的表,并且它们必须不时添加字段。他们如何在不造成大量停机的情况下做到这一点?
我应该添加一件事,我不希望该列允许空值,这意味着我需要有一个默认值。
所以我要么需要弄清楚如何及时添加具有默认值的列,要么需要找到一种稍后更新该列然后将该列设置为不允许空值的方法。
最佳答案
ALTER TABLE table1 ADD
newcolumn int NULL
GO
不应该花那么长时间...需要很长时间的是在其他列的中间插入列...b/c然后引擎需要创建一个新表并将数据复制到新表。
关于sql - 如何向大型 sql server 表添加列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1645215/