sql-server - 添加具有生成名称的 DEFAULT 约束

标签 sql-server tsql constraints default-value

在 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/

相关文章:

ios - 尾随约束缺失错误

swift - Xcode 6 : Unable to resize textview height without changing the width

swift - UIView 调整大小以适应其中的标签

c# - SqlConnection 在打开时挂起

sql-server - 使用 'åäö' 的 Linq 查询返回表中的所有项目

Node.js + Sequelize + SQL Server

sql - 检查字符是否为数字的最快方法?

sql-server - QUOTENAME 函数的相反函数是什么?

python - 使用pymssql,如何调用带有输出的存储过程

sql - where table.* <> table.* - 有没有办法做这样的事情?