mysql约束字段唯一性

应用场景

在我们的软件日常开发中经常有要求某个字段值的唯一性约束,譬如:手机号、邮箱地址......

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字段插入重复值,将是报错 输入图片说明

猜你喜欢

转载自my.oschina.net/kevinlia0/blog/1649705