更改具有非唯一非聚集索引的 table 以添加列

Alter a table which has non-unique non-clustered index to add a column

我有一个名为 Person 的 table,它已经有一些非唯一的非聚集索引和一个聚集索引(基于主键)。

我要写两个查询:

求推荐。我能找到一些相关问题,但不清楚 non-unique non-clustered index.

alter table person add birthplace varchar(128) not null

请注意,当您指定没有默认值的 not null 时,您会收到错误消息。建议添加默认值。但如果您不能考虑任何一个,则将列添加为可为空,然后稍后更新它。最后使用以下代码使其成为 NOT NULL

alter table person Alter column birthplace varchar(128) not null

如果您想将新列包含到现有索引中,请使用 CREATE INDEXDROP_EXISTING 选项。性能更高效。为此, 生成一个创建索引脚本,然后通过将新列添加到索引的列列表来修改脚本,然后将其添加到 CREATE INDEX 语句的末尾。

WITH (DROP_EXISTING = ON)