Magento 1.7: Kann nicht product_flat_data wiederhergestellt werden
-
16-10-2019 - |
Frage
Ich erhalte den folgenden Fehler, während ich versuche, meine Magento -Datenbank neu zu rücken.
Product Flat Data Index Prozess Unbekannter Fehler: Ausnahme 'PDOException' mit Message 'SQLState [23000]: Integritätsbeschränkung> Verstoß: 1452 kann keine untergeordnete Zeile hinzufügen oder aktualisieren: Eine Fremdschlüsselbeschränkung fällt> (fehl
d014505f
., Einschränkung>FK_CAT_PRD_FLAT_1_ENTT_ID_CAT_PRD_ENTT_ENTT_ID
UNBEKANNTER SCHLÜSSEL (entity_id
)> Referenzencatalog_product_entity
(`e) 'in> /www/htdocs/w00f5624/lib/zend/db/statement/pdo.php:228
Wie repariere ich das?
Lösung
Wie von Sander korrekt angegeben, verursachen gelöschte Produkte, die noch in der produktflachen Tabelle vorhanden sind, diesen Fehler. Jedenfalls ist es nicht erforderlich, den gesamten Tisch abzuschneiden. Sie können diese Produkte nach diesem SQL-Query finden:
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 )
Sie müssen diese Elemente dann löschen, die mit diesem SQL-Query erfolgen können:
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 )
Von hier aus genommen (Deutsch): http://www.avs-webentwickung.de/nc/blog/artikel/magento-fehler-beim-index-aufbau-sofortmassnahmen.html
Fragen Sie mich, ob Sie mehr Rat benötigen.
Andere Tipps
Ich hatte dieses Problem schon einmal. Ich habe es gelöst, indem ich die Tabellen product_flat_data und danach neuindexing abgeschnitten habe. Es wird durch nicht vorhandene Produkte verursacht, die noch in der Tabelle vorhanden sind.