300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > mysql重新设置主键生成策略为auto_increment时报错:resulting in duplicate entry '1' for key 'PRIMARY'

mysql重新设置主键生成策略为auto_increment时报错:resulting in duplicate entry '1' for key 'PRIMARY'

时间:2018-07-25 01:59:10

相关推荐

mysql重新设置主键生成策略为auto_increment时报错:resulting in duplicate entry '1' for key 'PRIMARY'

现在有一个标签表,里面已经填入了一些数据了,想把主键生成策略改成自增的:

ALTER TABLE `tags` CHANGE COLUMN `Id` `Id` INT(11) NOT NULL AUTO_INCREMENT

但是发现改不了,报错:

ERROR 1062: ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1' for key 'PRIMARY'

可是当前表中数据的主键并没有重复的呀,所以原因到底是什么呢?

这种情况的发生,是因为表中包含了 ID 为0(或负值)的记录。 需要更新这些记录,将ID换为正值,才可以在该列上设置 auto_increment。当然,设置好自增策略后,如果你想的话,还可以继续将ID值改为0(或负值)。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。