Ошибка При добавлении атрибута: SQLSTATE[23000]: Нарушение ограничения целостности: 1062 Повторяющаяся запись "0" для ключа 1


Я пытаюсь добавить новый атрибут, но, похоже, у меня проблема с тем, что я считаю идентификаторами приращения первичного ключа таблицы eav_attribute, который attribute_id.

Каждый раз, когда я пытаюсь добавить новый атрибут, я получаю эту ошибку:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 1

enter image description here

Я попытался переиндексировать, очистить кэш и усек все таблицы журналов безрезультатно. Атрибут категории был успешно добавлен в установочный файл MySQL, который, я думаю, мог вызвать автоматическое увеличение, чтобы выйти из синхронизации?

Кто-нибудь сталкивался с этой ошибкой раньше?

Author: SR_Magento, 2013-03-19

3 answers

Я уже сталкивался с этой проблемой раньше. Это произошло, когда база данных записывалась за пределы API Magento, и что-то пошло не так. Простое решение - включить общий журнал MySQL для записи всех sql-запросов. В командной строке просматривайте общий журнал mysql в режиме реального времени с помощью программы tail и флага -f, например, tail -f general.log

Теперь попробуйте выполнить действие, которое приводит к нарушению ограничения целостности, вы должны увидеть попытку sql-запрос в журнале. С помощью этой информации вы сможете лучше отследить проблему и при необходимости удалить неверную запись в базе данных.

 3
Author: mattmac, 2013-03-21 19:14:16

Проблема заключалась в том, что у нас было установлено расширение, которое создало атрибут продукта, и каким-то образом оно было вставлено с идентификатором 0. Это в основном испортило автоматическое увеличение и означало, что в следующий раз, когда мы попытались создать атрибут, он использовал идентификатор 1.

Мы удалили строку и удалили расширение, после чего оно работало нормально.

 1
Author: Adam Moss, 2013-05-21 11:59:47

В моем случае таблица расширений была "amasty_amconf_attribute" , Я удалил строку, в которой 0 для столбца "attribute_id". Надеюсь, это поможет кому-то в будущем.

 0
Author: user547632, 2015-03-30 07:40:42