我有一个主键和自动增量int(11)数据types的一列的表。
当我试图插入到该表中时,出现以下错误。 无法从存储引擎Query中读取自动增量值
当我重新启动MySQL服务,它工作正常。
我相信,这是没有问题的“自动增量数超过”,因为当我试图从外面插入它正在正确插入。
这是自动增量或其他问题。
基本上这是MySQL中的一个错误导致的问题,但解决方法很简单。 当表的自动递增值超出限制时,会发生问题。
只要在MySQL中运行这个SQL查询来修复这个bug。
ALTER TABLE table_name AUTO_INCREMENT = 1
Table_name是插入数据时发现错误的表的名称。 即使您的表中有logging,也不要担心Auto_Increment的值。
我看到一个bigint(20)键的表上相同的错误消息,看着输出
mysql>show table status like 'my_big_table';
这显示了:
Auto_increment: 0
当它应该是:
Auto_increment: 2157452851
(因为插入的最后一行有一个键值2157452850)没有解释为什么Auto_increment值为0,但它阻止了我们的应用程序的插入。
我试图做ALTER TABLE来改变Auto_increment的值,但很明显,整个表将被重build,在这个大小的桌子上将花费很多小时,所以我取消了更改。
我find的解决scheme是显式添加一个下一个键值的行:
mysql> INSERT INTO `my_big_table` VALUES (2157452851,22808084,71,36376,'2013-03-16 15:09:55','2013-03-16 15:07:18','2013-03-16 15:09:55','Sent',NULL,7426); Query OK, 1 row affected (0.03 sec)
这纠正了Auto_index值。
mysql> show table status like 'my_big_table'\G Auto_increment: 2157452852
希望这会帮助别人。
当我试图插入到该表中时,出现以下错误。 无法从存储引擎Query中读取自动增量值
这可能是一个MySQL错误( #35602 , # 42566 )。 试试这个解决方法。
在Windows 7 64位上运行的mysql版本是5.1.30的wamp中,它没有工作。 通过运行alter table它发生了一些事情(我看到更改的行),但值不能修复,所以刷新后它回到null。 神秘地从键删除auto_increment并将其设置回来,auto_increment值返回。 可能是64位的问题,但是希望有人能够通过将ID键重置为非auto_increment并重新设置来节省数小时的时间来解决这个问题!