Estou recebendo esse erro ao tentar reindexar "Atributos do produto". Alguém pode sugerir qual pode ser o problema e a possível solução
Erro fatal: exceção não capturada 'PDOException' com a mensagem 'SQLSTATE [23000]: Violação de restrição de integridade: 1062 Entrada duplicada' 2828-148-1-471 'para a chave' PRIMARY '' em E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Statement \ Pdo.php: 228 Rastreio de pilha: # 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 (Matriz) # 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 em E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Statement \ Pdo.php na linha 234
fonte
Respostas:
Como interpretar a mensagem de erro
No caso do indexador de atributo do produto, isso significa que há um erro de restrição ao salvar um registro na
catalog_product_index_eav_idx
tabela.2828-148-1-471
refere-se a:Possível origem do problema
Estou assumindo que o atributo que está causando problemas é do tipo multiselecionado. Um valor vinculado várias vezes a um produto causará esse tipo de erro.
Você pode verificar isso executando a seguinte consulta:
Suponho que o ID 471 será listado várias vezes na coluna
value
. Todo ID deve ser listado apenas uma vez nessa coluna.Você está usando um importador para adicionar dados do produto ao Magento?
fonte
A solução abaixo funcionou para mim e pode ajudar outras pessoas:
2828-148-1-471 refere-se a:
ID da entidade do produto: 2828 ID do atributo: 148 ID da loja: 1 valor: 471
Basta abrir o produto com o ID 2828, salvá-lo e reindexar novamente.
isso pode resolver seu problema
fonte
Entendi, era um problema com os atributos suspensos de seleção múltipla. No meu script, às vezes o mesmo atributo era adicionado várias vezes, causando erro, postando essa resposta para alguém, se precisar de ajuda no futuro
fonte