【发布时间】:2015-04-25 21:12:12
【问题描述】:
由于某种原因,我遇到了一个问题,一段时间后我的桌子“损坏”了,我猜我在哪里得到了这个错误:
mysql failed to read auto-increment value from storage engine
我已经找到了运行以下查询的解决方案:
ALTER TABLE `users` AUTO_INCREMENT = 1
糟糕的是,到目前为止,它在 3 周内随机发生了 3 次,而我没有更改表格中的任何内容。我发现的唯一原因是从无法注册的用户那里听到的:/
这是为注册新用户而运行的查询,您可以看到它显然没有插入 user_id
INSERT INTO users (user_name, user_lastip, user_password_hash, user_email, user_activation_hash, user_registration_ip, user_registration_datetime)
VALUES(:user_name, :user_lastip ,:user_password_hash, :user_email, :user_activation_hash, :user_registration_ip, now())
这是我的表格的快速截图:
(在此开始发生之前,我将 user_ID 长度设置为 11,我尝试在上次发生此错误时将其设置为 255,但没有帮助)
有谁知道是什么原因造成的或如何解决这个问题?我显然不是唯一一个遇到这个问题的人,所以我希望有一个合乎逻辑的解释
【问题讨论】:
-
试试这个命令,看看能不能解决问题,
repair table users quick -
您也可以将您的问题发布到 DB Exchange dba.stackexchange.com
-
@AbhikChakraborty 谢谢!我想它有效,但我能找到的唯一方法是等待一段时间,看看它是否会再次发生。感谢您的帮助:) 我想知道为什么会发生这种情况
-
可能有很多原因,其中一个问题可能是驱动器已满,但很难说到底是什么。可以尝试查看 mysql 错误日志以获取更多详细信息。
标签: php mysql auto-increment