SQL语句添加默认约束的方法
在数据库中,约束是一种限制数据表中数据的规则,默认约束是约束的一种,它为列设置默认值,当插入新行时,如果没有为该列提供值,那么将使用默认值,这样可以确保数据的完整性和一致性,本文将介绍如何在SQL语句中添加默认约束。
1、添加普通列的默认约束
要为普通列添加默认约束,可以使用ALTER TABLE
语句和ADD CONSTRAINT
子句,以下是一个示例:
ALTER TABLE 表名 ADD CONSTRAINT 约束名 DEFAULT 默认值 FOR 列名;
我们有一个名为employees
的表,其中有一个名为age
的普通列,我们想为这个列添加一个默认约束,使得当插入新行时,如果没有为age
提供值,那么将使用0作为默认值,可以使用以下SQL语句实现:
ALTER TABLE employees ADD CONSTRAINT age_default DEFAULT 0 FOR age;
2、添加主键列的默认约束
要为主键列添加默认约束,可以使用ALTER TABLE
语句和ADD CONSTRAINT
子句,以下是一个示例:
ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY NONCLUSTERED DEFAULT 默认值 FOR (列名1, 列名2, ...);
我们有一个名为orders
的表,其中有两个主键列:order_id
和customer_id
,我们想为这两个主键列添加一个默认约束,使得当插入新行时,如果没有为这两个列提供值,那么将分别使用0和NULL作为默认值,可以使用以下SQL语句实现:
ALTER TABLE orders ADD CONSTRAINT primary_key_default PRIMARY KEY NONCLUSTERED DEFAULT 0 FOR (order_id, customer_id);
相关问题与解答
1、如何删除默认约束?
要删除默认约束,可以使用ALTER TABLE
语句和DROP CONSTRAINT
子句,以下是一个示例:
ALTER TABLE 表名 DROP CONSTRAINT 约束名;
我们想要删除上面提到的age_default
约束,可以使用以下SQL语句实现:
ALTER TABLE employees DROP CONSTRAINT age_default;
2、如何为已有的表添加或删除默认约束?
要为已有的表添加或删除默认约束,需要先使用SHOW CREATE TABLE
命令查看表的结构,然后根据需要修改表结构,最后使用ALTER TABLE
语句应用更改,以下是一个示例:
假设我们有一个名为students
的表,现在想要为其添加一个名为age_default
的默认约束,使得当插入新行时,如果没有为age
提供值,那么将使用18作为默认值,使用以下SQL语句查看表的结构:
SHOW CREATE TABLE students;
找到类似以下的输出:
CREATE TABLEstudents
(id
int(11) NOT NULL AUTO_INCREMENT,name
varchar(255) NOT NULL,age
int(11) NOT NULL, PRIMARY KEY (id
), KEYidx_name_age_created_at_ondelete
(name
,age
,created_at
, `ondelete')) USING BTREE;
接下来,我们需要修改表结构以添加默认约束,可以使用以下SQL语句实现:
ALTER TABLE students ADD CONSTRAINT age_default DEFAULT 18 FOR age;
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/279591.html