在 SQL Server 中,我有一个现有表。现在我想向其中一列添加 DEFAULT 约束 - 无需为其定义名称 .
-- generated name works fine when creating new column
ALTER TABLE [xyz]
ADD [newColumn] int NOT NULL DEFAULT 0
-- when adding a default value afterwards I seem to have to provide a name
ALTER TABLE [xyz]
ADD CONSTRAINT [iDontWantToPutANameHere] DEFAULT 0 FOR [existingColumn]
最佳答案
您可以为现有列创建默认约束,而无需指定其名称,例如:
create table test
(
existing_column int
)
alter table test
add default 0 for existing_column
但是,有很多文章表明最好明确命名约束。因为它更难删除或以其他方式更改系统命名约束。此外,如果您有同一个数据库的多个实例,则它们的默认名称将不同。
关于sql-server - 添加具有生成名称的 DEFAULT 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35086857/