项目场景:
MySQL插入数据
问题描述
报错如下:
原因分析:
stu表中的type我使用了unique唯一性约束
MySQL 唯一约束(Unique Key)是指所有记录中字段的值不能重复出现
解决方案:
建表语句:
create table stu(
id int,
name varchar(20) not null,
gender char(2) default '男',
type int unique,
birth date,
primary key(id)
);
如果是unique约束是误添加,可以删除:
alter table stu drop index type;
否则的话,添加数据的时候注意unique修饰的字段值不可重复。
拓宽:
可以在建表以后再添加唯一性约束:
alter table stu add constraint unique_type unique (type);
特注:
如果是建表的时候添加了唯一性约束,那么唯一性约束名默认和字段名相同,在建表的时候再添加唯一性约束的语法:
ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);
即需要自己指定唯一性约束名。