mysql Не удалось прочитать значение автоинкремента из механизма хранения - PullRequest
22 голосов
/ 08 сентября 2011

Я использую таблицу MySQL с одним полем идентификатора в качестве автоинкремента.

Когда я вставляю значения в таблицу, я получаю сообщение об ошибке как

1467 - Не удалось прочитать значение автоинкремента из механизма хранения

Также show table status показывает, что поле с автоинкрементом имеет

18446744073709551615 как значение Auto_increment.

В чем может быть проблема, может ли кто-нибудь мне помочь ....?

Ответы [ 15 ]

0 голосов
/ 11 августа 2018

У меня была проблема, что auto_increment был установлен в 0, но установка auto_increment явно не работала (осталась в 0). Я ввел запись вручную с идентификатором, и после этого значение было установлено правильно.

0 голосов
/ 12 апреля 2018

Я обнаружил, что параметр был включен.согласно экспертам по БД оно не должно быть больше 1 ...

В моем случае для него было установлено значение 4, как показано ниже.;+ ------------------------- + |@@ innodb_force_recovery |+ ------------------------- + |4 |+ ------------------------- +

Следовательно, я перезапустил MySQL без передачи параметра во время запуска,

позже я смог вставить или обновить таблицы ... надеюсь, это кому-нибудь поможет ...

0 голосов
/ 04 января 2018

У меня та же проблема. У меня есть таблица с тысячами записей. Я просто изменил тип поля с int на bigint

0 голосов
/ 17 декабря 2017

У меня была такая же проблема.

Причина: я изменил имя моего поля таблицы на первичный ключ и свойство автоинкремента, из-за чего автоинкремент перестал работать и появилась ошибка 1467.

Что мне помогло, так это сброс первичного ключа в phpmyadmin, как показано ниже:

  1. Перейдите на вкладку «Структура» таблицы и нажмите «indexex», как показано на рисунке 1.
  2. Теперь отредактируйте первичный ключ, как на рисунке 1.
  3. Просто нажмите Go, как на рисунке 2.

Изображение 1

Изображение 2

У меня это сработало.

0 голосов
/ 10 июня 2014

У меня была та же проблема, и решение было изменить столбец smallint (6) на int.

...