应用场景
在我们的软件日常开发中经常有要求某个字段值的唯一性约束,譬如:手机号、邮箱地址......
sql操作
1、创建用户表
create table user(
id varchar(255) comment '主键id',
name varchar(255) comment '用户名',
phone varchar(11) comment '手机号',
email varchar(64) comment '邮箱地址',
primary key(id)
) comment '用户表';
2、插入两条数据
INSERT INTO `test_db`.`user` (`id`, `name`, `phone`, `email`) VALUES ('2871c6db-2e4f-11e8-9242-00163e06348c', 'Kevin', '18233339999', '[email protected]');
INSERT INTO `test_db`.`user` (`id`, `name`, `phone`, `email`) VALUES ('42895546-2e4f-11e8-9242-00163e06348c', 'Nana', '18233339999', '[email protected]');
3、观察两条数据(手机号相同,需求是不允许手机号相同)
4、修改为phone字段添加唯一约束
alter table user add unique(phone); -- 注意执行这步前需要把重复的字段值删除或者备份一下数据
5、添加唯一约束后,再往phone字段插入重复值,将是报错