[РЕШЕНИЕ] Duplicate entry '2147483647' for key 'PRIMARY'

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Ответить
[РЕШЕНИЕ] Duplicate entry '2147483647' for key 'PRIMARY'
У меня везде валиться ошибка: Processes node: Duplicate entry '2147483647' for key 'PRIMARY'
Сайт написан на php, бд MYSQL
Дело в том что для первичного ключа использовалось поле с типом данных INT. И так получилось, что AUTO INCREMENT вышел за пределы числа 2147483647, максимального для INT . Решение простое использовать тип данных BIGINT (для него максимально 2^63-1).

Основная сложность только найти в какой бд и вкакой таблице данная проблема.
Про ошибку: #1062 — Duplicate entry ‘1’ for key ‘PRIMARY’
Обычно она возникает когда переносите данные с одного хостинга на другой (бд)
И многие советуют: (Открываете базу данных в текстовом редакторе,  и меняете все команды INSERT INTO на REPLACE INTO.) речь про дам, и следовательно все текущие данные просто перезапишутся.

Но я рекомендую разобраться как вообще такое случилось, вот пример который хорошо это описывает:
"Мне удалось решить эту проблему по другому. Я зашла в phpmyadmin и в таблице присвоила для id в «Дополнительно» значение «AUTO_INCREMENT» (поставила галочку в колонке A_I). После этого ошибка пропала. Причина была в том, что первая запись в таблице имела id = 1, а когда импортировала БД, то AUTO_INCREMENT не передался. Когда стала добавлять новую запись, то ей присвоился сначала id = 0; когда следующую, то id = 1, который уже существовал и возник конфликт. Возможно мой метод кому-то пригодится.
Метод замены с INTO на REPLACE возможно и устраняет ошибку, но может привести к полной замены старых данных на новые (особенно когда их много и все скрыто в чужом коде)."
Страницы: 1
Ответить
Форма ответов
Текст сообщения*
:) ;) :D 8) :( :| :cry: :evil: :o :oops: :{} :?: :!: :idea:
Защита от автоматических сообщений. Введите символы, изображенные на этой картинке в поле ввода &quote;Код подтверждения&quote;.