MySQL问题 - 使用最大值自动递增字段

时间:2015-11-02 20:25:22

标签: mysql

我有一个MySQL数据库的问题,某些东西必须搞砸了。我有一个包含几千行的表,带有一个自动增量键字段。但是,最近,当我尝试创建新行时,出现错误:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '2147483647' for key 'PRIMARY'

即使没有那么多行,mysql以某种方式创建了一个主键2147483647的行,我猜这是最大的。之后的下一个最高主键是2034

如果我只删除该行,则使用相同的密钥创建下一行,后续条目会导致相同的错误。

知道发生了什么或我如何解决它?

1 个答案:

答案 0 :(得分:2)

您在数据库中的主键列上使用INTEGERINTEGER 2147483647是您可以拥有的最大值,因此无法再自动增加。

您可以将ID列切换为BIGINT

ALTER TABLE yourTable ALTER COLUMN yourPrimaryKeyColumn bigint