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)> RIFERIMENTI catalog_product_entity ( `e )' in> /www/htdocs/w00f5624/lib/Zend/Db/Statement/Pdo.php:228

Come posso risolvere questo problema ??

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top