Question

je reçois l'erreur suivante en essayant de réindexer ma base de données de magento ..

  

Index plat produit des données processus d'erreur inconnue:   exception 'PDOException' message « SQLSTATE [23000]: Contrainte d'intégrité> violation: 1452 Impossible d'ajouter ou mettre à jour une ligne enfant:. une contrainte de clé étrangère échoue> (d014505f, constraint> FK_CAT_PRD_FLAT_1_ENTT_ID_CAT_PRD_ENTT_ENTT_ID FOREIGN KEY (entity_id)> RÉFÉRENCES catalog_product_entity (` e ) » in> /www/htdocs/w00f5624/lib/Zend/Db/Statement/Pdo.php:228

Comment puis-je résoudre ce problème ??

Était-ce utile?

La solution

comme indiqué correctement Sander, produits supprimés encore présents dans la table plate produit cause de cette erreur. Quoi qu'il en soit, tronquant toute la table ne sera pas nécessaire. Vous pouvez trouver ces produits par cette requête SQL:

SELECT pf1.entity_id
FROM catalog_product_flat_1 pf1
LEFT JOIN catalog_product_entity p ON pf1.entity_id = p.entity_id
WHERE ISNULL( p.entity_id ) 

Vous devrez alors supprimer ces éléments, ce qui peut être fait en utilisant cette requête SQL:

DELETE pf1.*
FROM catalog_product_flat_1 pf1
LEFT JOIN catalog_product_entity p ON pf1.entity_id = p.entity_id
WHERE ISNULL( p.entity_id ) 

Pris d'ici (en allemand): http: //www.avs-webentwicklung.de/nc/blog/artikel/magento-fehler-beim-index-aufbau-sofortmassnahmen.html

Demandez-moi si u besoin de plus conseiller.

Autres conseils

J'ai eu ce problème auparavant. Je l'ai résolu en tronquant les tables product_flat_data et ensuite réindexation. Elle est causée par des produits non existants encore présents dans le tableau.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top