主题
主键与唯一约束
1. 主键(PRIMARY KEY)
- 唯一标识表中的每一条记录。
- 不能包含 NULL 值。
- 一个表只能有一个主键,可以是单列或多列组合。
创建表时定义主键
sql
CREATE TABLE users (
id INT PRIMARY KEY,
username VARCHAR(50)
);修改表添加主键
sql
ALTER TABLE users
ADD PRIMARY KEY (id);2. 唯一约束(UNIQUE)
- 确保字段值唯一,但允许 NULL(根据配置,有时允许多个 NULL)。
- 一个表可以有多个唯一约束。
创建表时定义唯一约束
sql
CREATE TABLE users (
id INT,
email VARCHAR(100) UNIQUE
);修改表添加唯一约束
sql
ALTER TABLE users
ADD UNIQUE (email);3. 主键与唯一约束的区别
| 特性 | 主键(PRIMARY KEY) | 唯一约束(UNIQUE) |
|---|---|---|
| 唯一性 | 必须唯一 | 必须唯一 |
| NULL 值 | 不允许 | 允许(通常情况下) |
| 数量 | 一个表仅能有一个主键 | 一个表可以有多个唯一约束 |
合理使用主键和唯一约束,可以保证数据完整性和避免重复数据。