【MySQL报错】Duplicate entry ‘0‘ for key ‘stu.type‘

项目场景:

        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(<列名>);

即需要自己指定唯一性约束名。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值