Recibo este error al intentar reindexar "Atributos del producto". ¿Alguien puede sugerir cuál podría ser el problema y la posible solución?
Error grave: excepción no detectada 'PDOException' con mensaje 'SQLSTATE [23000]: violación de restricción de integridad: 1062 Entrada duplicada' 2828-148-1-471 'para clave' PRIMARIO '' en E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Statement \ Pdo.php: 228 Stack trace: # 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 en E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Statement \ Pdo.php en la línea 234
fuente
Respuestas:
Cómo interpretar el mensaje de error
En el caso del indexador de atributos del producto, esto significa que hay un error de restricción al guardar un registro en la
catalog_product_index_eav_idx
tabla.2828-148-1-471
se refiere a:Posible origen del problema.
Supongo que el atributo que está causando problemas es de tipo multiselección. Un valor que está vinculado varias veces a un producto, causará este tipo de error.
Puede verificar esto ejecutando la siguiente consulta:
Supongo que el id 471 aparecerá varias veces en la columna
value
. Cada ID solo debe aparecer una vez en esa columna.¿Está utilizando un importador para agregar datos de productos a Magento?
fuente
La siguiente solución funcionó para mí y puede ayudar a otros:
2828-148-1-471 se refiere a:
ID de entidad de producto: 2828 ID de atributo: 148 ID de tienda: 1 valor: 471
Simplemente abra el producto con id 2828 y guárdelo y vuelva a indexar nuevamente.
eso puede resolver tu problema
fuente
Lo entendí, era un problema con los atributos desplegables de selección múltiple. En mi script, a veces se agregaba el mismo atributo varias veces, lo que causaba un error, publicando esta respuesta para alguien si necesita ayuda en el futuro
fuente