Я получаю эту ошибку при попытке переиндексировать «Атрибуты продукта». Может кто-нибудь подсказать, в чем может быть проблема и возможное решение
Неустранимая ошибка: необработанное исключение «PDOException» с сообщением «SQLSTATE [23000]: нарушение ограничения целостности: 1062 Повторяющаяся запись« 2828-148-1-471 »для ключа« PRIMARY »в E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Statement \ Pdo.php: 228 Трассировка стека: # 0 E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Statement \ Pdo.php (228): PDOStatement-> execute (Array) # 1 E : \ xampp \ htdocs \ magento \ lib \ Varien \ Db \ Statement \ Pdo \ Mysql.php (110): Zend_Db_Statement_Pdo -> _ execute (Array) # 2 E: \ xampp \ htdocs \ magento \ app \ code \ core \ Zend \ Db \ Statement.php (291): Varien_Db_Statement_Pdo_Mysql -> _ execute (Array) # 3 E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Adapter \ Abstract.php (480): Zend_Db_Statement-> execute (Array) # 4 E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Adapter \ Pdo \ Abstract.php (238): Zend_Db_Adapter_Abstract-> query ('INSERT INTO
ca...', Array) #5 E:\xampp\htdocs\magento\lib\Varien\Db\Adapter\Pdo\Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO
ca ... ', Array) # 6 E: \ xampp \ htdocs \ magento \ lib \ Varien \ Db \ Adapter \ Pdo \ Mysql.php (1998): Varien_Db_Adapter_Pdo_Mysql в E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Statement \ Pdo.php в строке 234
источник
Ответы:
Как интерпретировать сообщение об ошибке
В случае индексатора атрибутов продукта это означает, что существует ошибка ограничения при сохранении записи в
catalog_product_index_eav_idx
таблице.2828-148-1-471
относится к:Возможное происхождение проблемы
Я предполагаю, что атрибут, который вызывает проблемы, имеет тип multiselect. Значение, которое несколько раз связано с продуктом, вызовет этот тип ошибки.
Вы можете проверить это, выполнив следующий запрос:
Я предполагаю, что идентификатор 471 будет указан несколько раз в столбце
value
. Каждый идентификатор должен быть указан только один раз в этом столбце.Вы используете импортер для добавления данных о продукте в Magento?
источник
Ниже решение работает для меня и может помочь другим:
2828-148-1-471 относится к:
идентификатор продукта: 2828 идентификатор атрибута: 148 идентификатор магазина: 1 значение: 471
Просто откройте продукт с идентификатором 2828, сохраните его и переиндексируйте снова.
это может решить вашу проблему
источник
Я понял, это была проблема с раскрывающимися атрибутами множественного выбора. В моем скрипте иногда один и тот же атрибут добавлялся несколько раз, что вызывало ошибку, публикуя этот ответ для кого-то, если в будущем потребуется помощь
источник