前言
一些初学者在给表格的一些字段增加约束比如unique key时可能会混淆多个字段的联合约束和给多个字段分别增加单个约束,有时候会误将多个字段形成的多个约束写成一个联合约束,下面就以unique key举例给大家看看如何添加这两种情况下的约束。
正文
unique key定义:对应字段值在表中必须唯一存在。
- Case 1: 给一张表的多个字段加上一个unique约束组成联合唯一约束:
注意:unique约束允许多个null值,以下数据插入是允许的:alter table students add unique `unique_index`(`学号`, `姓名`);
INSERT INTO `students` (`id`, `学号`, `年龄`, `姓名`) VALUES ('1', '1', '1', NULL), ('2', '1', '2', NULL), ('3', '1', '3', '1'), ('4', '1', '4', NULL);
- Case 2: 给一张表的多个字段分别加上一个unique约束,不会形成联合的唯一性约束
alter table students add unique `unique_student_id`(`学号`); alter table students add unique `unique_student_name`(`姓名`);