

UNIQUE 约束在 SQL 中用于确保某列或某几列的组合值在表中是唯一的。这意味着在应用了 UNIQUE 约束的列中,不能有两条记录具有相同的值,除非该值为 NULL。UNIQUE 约束有助于维护数据的完整性,特别是在需要确保某些标识符(如电子邮件地址、电话号码等)在整个表中唯一的情况下。
PRIMARY KEY 不同,UNIQUE 约束允许列中有 NULL 值,并且可以有多个 NULL 值。UNIQUE 约束,这样只有当这些列的组合值唯一时,才能插入新记录。UNIQUE 约束,但只能有一个 PRIMARY KEY 约束。在创建表时,可以为特定列或多个列定义 UNIQUE 约束:
sqlCREATE TABLE table_name
(
column1 data_type UNIQUE,
column2 data_type UNIQUE,
...
);或者,为多个列定义一个 UNIQUE 约束:
sqlCREATE TABLE table_name
(
column1 data_type,
column2 data_type,
UNIQUE (column1, column2)
...
);假设我们正在创建一个名为 Persons 的表,其中包含人的 ID、姓氏、名字和电子邮件地址。我们希望确保 P_Id(假设为电子邮件地址)在整个表中是唯一的。
sqlCREATE TABLE Persons (
P_Id varchar(255) UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255) NOT NULL,
Age int
);在这个例子中:
P_Id 列被定义为 UNIQUE,这意味着在插入或更新 Persons 表的记录时,P_Id 的值必须是唯一的,不能有两条记录具有相同的 P_Id 值。P_Id 值的新记录,数据库系统将返回错误。如果我们需要确保 LastName 和 FirstName 的组合是唯一的,可以这样定义:
sqlCREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255) NOT NULL,
Age int,
UNIQUE (LastName, FirstName)
);在这个例子中,LastName 和 FirstName 的组合值必须是唯一的。如果尝试插入具有相同姓氏和名字的另一条记录,数据库系统将返回错误。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。