主键与约束要点
- PRIMARY KEY 唯一且非空,一张表只能有一个
- 多列组合主键:PRIMARY KEY (a, b) 联合标识一行
- AUTO_INCREMENT 自增,一般挂主键,插入写 NULL 自动生成
- UNIQUE 保证列值不重复,可建多个,空值不冲突
- 自增列必须是索引(通常就是主键)否则报语法错
- 主键选稳定且不变的列,别拿业务字段当主键
主键与约束示例
CREATE TABLE product (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
sku VARCHAR(32) NOT NULL UNIQUE,
name VARCHAR(80) NOT NULL
);
避坑提醒:自增主键别用业务字段(手机号、邮箱),一旦要改值,所有外键引用都得跟着改。