Magento 1.7: Impossibile reindex product_flat_data
-
16-10-2019 - |
Domanda
ottengo il seguente errore durante il tentativo di reindicizzare il mio database Magento ..
processo Indice prodotto piatto dati errore sconosciuto: eccezione 'PDOException' con il messaggio 'SQLSTATE [23000]: vincolo di integrità> violazione: 1452 Impossibile aggiungere o aggiornare la riga:. un vincolo di chiave esterna non> (
d014505f
, VINCOLO>FK_CAT_PRD_FLAT_1_ENTT_ID_CAT_PRD_ENTT_ENTT_ID
FOREIGN KEY (entity_id
)> RIFERIMENTIcatalog_product_entity
( `e )' in> /www/htdocs/w00f5624/lib/Zend/Db/Statement/Pdo.php:228
Come posso risolvere questo problema ??
Soluzione
come dichiarato correttamente Sander, prodotti cancellato ancora presente nella tabella di prodotto piano causa questo errore. In ogni caso, troncando l'intera tabella non sarà necessario. È possibile trovare questi prodotti da questo SQL-query:
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 )
Si dovrà quindi eliminare questi elementi, che può essere fatto utilizzando la SQL-query:
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 )
Tratto da qui (in tedesco): http: //www.avs-webentwicklung.de/nc/blog/artikel/magento-fehler-beim-index-aufbau-sofortmassnahmen.html
Chiedimi se u bisogno di ulteriori consigli.
Altri suggerimenti
Ho avuto questo problema prima. Ho risolto troncando le tabelle product_flat_data e poi reindicizzazione. E 'causata da prodotti non esistenti ancora presenti nella tabella.