Duplicate entry ‘0‘ for key ‘test.PRIMARY‘

背景:

mysql添加数据报错:Duplicate entry '0' for key 'test.PRIMARY'

错误原因:

主键重复导致添加失败

此时的你是不是在想"主键不是自动的吗?怎么会有问题"

我们一起来看一下下面这个简单的建表语句是否有问题

此时的你是不是又在想"不是看错误吗?为啥看建表语句,扯的是不是远了?"

CREATE TABLE IF NOT EXISTS `test`(
   `id` INT DEFAULT "0",
   `content` VARCHAR(100) NOT NULL,
   PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

你是不是也不确定是不是正确的?那我们执行一下?

建表

我擦!!竟然建成了,那是不是就没问题

你想的太多了,没问题能扯那么多吗?

那我们插入一条数据试试?

插入数据

我擦!!竟然插入成功了!!那是不是就没问题了呢?

在这里插入图片描述

我们再插入一条试试?

在这里插入图片描述

报错了!!!终于和标题对上了

在这里插入图片描述

我们看插入语句发现了啥?我好像没写ID,那我们把ID写上再试一下?

在这里插入图片描述

插入成功了!!!这是为什么呢?那我们回过头来再看一下我们的表结构

表结构

好像我们的主键ID和以前有点不一样,自增跑哪里去了?当你想到这个问题,恭喜你🎉🎉🎉你已经可以解决这个问题了

在这里插入图片描述

我们为主键添加上自增再试一下

在这里插入图片描述
在这里插入图片描述

修改完好像成功了✌️✌️✌️


总结:建表不注意,调试两行泪呀

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值