Magento: Fehler beim Index-Aufbau nach Import

17
Feb.

nach einen Produkt Import mit cart2cart

bekam ich folgende Meldung beim der Indexierung via SSH

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`catalog_category_product_index`, CONSTRAINT `FK_CATALOG_CATEGORY_PROD_IDX_CATEGORY_ENTITY` FOREIGN KEY (`category_id`) REFERENCES `catalog_category_entity` (`entity_id`)

Der Fehler sagt aus, dass eine so genannte Constraint, eine zwingende Beziehung zwischen den Daten zweier Datenbanktabellen, verletzt ist. In diesem Fall ist es eine Kategorie-Id in der Verknüpfungstabelle catalog_category_product, für die keine passende Kategorie in der Tabelle catalog_category_entity mehr existiert.

mit folgender Abfrage können die Datensätze gefunden werden. Diese können dann bedenken los gelöscht werden.

SELECT cp.category_id
FROM catalog_category_product cp
LEFT JOIN catalog_category_entity c ON cp.category_id = c.entity_id
WHERE ISNULL( c.entity_id )

das Problem sollte dann behoben sein und mit php -f indexer.php reindexall können die Indices neu aufgebaut werden können.

das Kleich kann auch mit Artikel passieren dafür kann folgende abfrage benutzt werden

SELECT cp.product_id
FROM `catalog_category_product` cp
LEFT JOIN catalog_product_entity p ON cp.product_id = p.entity_id
WHERE ISNULL( p.entity_id )