PostgreSQL 唯一约束
在 PostgreSQL 中,唯一约束(Unique Constraint) 是一种用于确保表中某一列或多列的值唯一的约束。它防止在这些列中插入重复的值,从而保证数据的完整性和一致性。唯一约束可以应用于单个列,也可以应用于多个列的组合。
什么是唯一约束?
唯一约束是一种数据库约束,用于确保表中某一列或多列的值是唯一的。与主键(Primary Key)不同,唯一约束允许列中包含 NULL
值,但每个 NULL
值只能出现一次(如果列允许 NULL
)。
备注
唯一约束和主键的区别:
- 主键不允许
NULL
值,而唯一约束允许。 - 一个表只能有一个主键,但可以有多个唯一约束。
创建唯一约束
在 PostgreSQL 中,可以通过以下两种方式创建唯一约束:
- 在创建表时定义唯一约束
- 在现有表上添加唯一约束
1. 在创建表时定义唯一约束
在创建表时,可以使用 UNIQUE
关键字为某一列或多列定义唯一约束。以下是一个示例:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
username VARCHAR(50) UNIQUE,
email VARCHAR(100) UNIQUE
);
在这个示例中,username
和 email
列都被定义为唯一约束。这意味着每个用户名和电子邮件地址在表中都必须是唯一的。