今天给项目的一个表设置自增长主键
mysql> ALTER TABLE `users` CHANGE `id` `id` INT(11) NOT NULL AUTO_INCREMENT;
运行却报错 ERROR 1062 (23000): Duplicate entry '1' for key 1
表中原有数据如下+----+------+
| id | name |
+----+------+
| 0 | AAA |
| 1 | BBB |
| 2 | CCC |
+----+------+-
同事tzngvi说可能是 id = 0 的那条数据有问题,把 id = 0 那条数据删除后,再设置自增长,问题解决。
又去 MySQL 官网查了一下,AUTO_INCREMENT是默认从 1 开始的。
To start with an AUTO_INCREMENT value other than 1, you can set that value with CREATE TABLE or ALTER TABLE, like this:
mysql> ALTER TABLE tbl AUTO_INCREMENT = 100;
本文记录了一次在MySQL中设置自增长主键时遇到的错误及其解决过程。问题出现在尝试修改已包含特定ID值的表时,通过删除问题数据并重新设置自增长属性得以解决。
174万+

被折叠的 条评论
为什么被折叠?



