По какой-то причине у меня возникает проблема, из-за которой через некоторое время моя таблица становится «поврежденной», я думаю, где я получаю эту ошибку:
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 в последний раз, когда произошла эта ошибка, но это не помогло)
Кто-нибудь знает, что вызывает это или как это исправить? Я, очевидно, не единственный, у кого есть эта проблема, поэтому я должен найти логическое объяснение
Проверьте autoincrement_offset.
Попробуйте сбросить таблицу, затем создайте новую таблицу.
Других решений пока нет …