指定列的默认值
适用于:SQL Server 2016 (13.x) 及更高版本Azure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)
可使用 SQL Server Management Studio 指定将在表列中输入的默认值。 可使用 SSMS 对象资源管理器或执行 Transact-SQL 来设置默认值。
如果没有分配默认值到列,并且用户将该列保留为空白,则:
如果设置了允许 NULL 值的选项,则将向该列中插入
NULL
。如果没有设置允许空值的选项,则该列将保持空白,但在用户为该列提供值之前,他们将无法保存行。
限制和局限
在开始之前,请注意以下限制和局限:
- 如果“默认值”字段中的项替换绑定的默认值(以不带圆括号的形式显示),则将提示你解除对默认值的绑定,并将其替换为新的默认值。
- 若要输入文本字符串,请用单引号 (') 将值括起来;不要使用双引号 ("),因为双引号已保留用于带引号的标识符。
- 若要输入数值默认值,请输入数值并且不要用引号将值括起来。
- 若要输入对象/函数,请输入对象/函数的名称并且不要用引号将名称括起来。
注意
在 Azure Synapse Analytics 中,只有常数可以用于默认约束。 表达式不能用于默认约束。
权限
本文中描述的操作要求对表具有 ALTER 权限。
使用 SSMS 指定默认值
可以使用 SSMS 中的对象资源管理器指定表列的默认值。 为此,请执行下列步骤:
连接到 SSMS 中的 SQL Server 实例。
在对象资源管理器中,右键单击要更改其小数位数的列所在的表,再选择“设计”。
选择要为其指定默认值的列。
在 “列属性” 选项卡中,在 “默认值或绑定” 属性中输入新的默认值。
注意
若要输入数值默认值,请输入该数字。 对于对象或函数,请输入其名称。 对于字母数字默认值,请输入该值,两边用单引号引起来。
在“文件”菜单上,选择“保存”以保存表名称。
使用 Transact-SQL 指定默认值
可通过多种方法使用提交 T-SQL 来指定列的默认值。
ALTER TABLE (T-SQL)
在 “对象资源管理器” 中,连接到 数据库引擎的实例。
在标准栏上,选择“新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后选择“执行”。
CREATE TABLE dbo.doc_exz (column_a INT, column_b INT); -- Allows nulls. GO INSERT INTO dbo.doc_exz (column_a) VALUES (7); GO ALTER TABLE dbo.doc_exz ADD CONSTRAINT DF_Doc_Exz_Column_B DEFAULT 50 FOR column_b; GO
CREATE TABLE (T-SQL)
CREATE TABLE dbo.doc_exz (
column_a INT,
column_b INT DEFAULT 50);
命名的 CONSTRAINT (T-SQL)
CREATE TABLE dbo.doc_exz (
column_a INT,
column_b INT CONSTRAINT DF_Doc_Exz_Column_B DEFAULT 50);
后续步骤
有关详细信息,请参阅 ALTER TABLE (Transact-SQL)。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈