mysql 中 Duplicate entry '127' for key 'PRIMARY'报错问题

mysql 中"Duplicate entry '255' for key 'PRIMARY'"

自增字段达到了上限

1、如果这个时候数据表里面没有数据,而且我们用使用 INSERT INTO VALUES 这样的语句插入,就会提示 Duplicate entry '127' for key 'PRIMARY' 这类的字样。(因为我设置的测试字段是tinyint)

2、如果这个时候数据表里面没有数据,而且我们使用 INSERTINTO SELECT FROM 这样的语句插入,并且存储引擎是INNODB的话,就会提示 Failed to read auto-increment value from storage engine  这样的错误;

3、如果这个时候数据表里面有数据,则总是会出现Duplicate entry '127' for key 'PRIMARY' 这类的字样的错误。

所以,出现Duplicate entry '127' for key 'PRIMARY' 这个时容易理解的。而另外一个提示是因为INNODB 引擎特有的二级缓存所导致的。数据不会先插入数据表,而会先存到缓存里面,只是增加表里的自增数。所以当自增数达到极限时,InnoDB要获取自增值然后存储到缓存的时候,发现找不到更高的数字了。

将自增主键设置为int

你可能感兴趣的:(mysql 中 Duplicate entry '127' for key 'PRIMARY'报错问题)