背景:
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和以前有点不一样,自增跑哪里去了?当你想到这个问题,恭喜你🎉🎉🎉你已经可以解决这个问题了
我们为主键添加上自增再试一下