Magento 1.7:dexex product_flat_dataはできません
-
16-10-2019 - |
質問
Magentoデータベースを再インデックス化しようとしている間、次のエラーが発生します。
製品フラットデータインデックスプロセス不明エラー:メッセージ付き「PDOEXCEPTION」「SQLSTATE [23000]:整合性制約>違反:1452チャイルド行を追加または更新できません:外部キー制約失敗>(
d014505f
。、制約>FK_CAT_PRD_FLAT_1_ENTT_ID_CAT_PRD_ENTT_ENTT_ID
外部キー (entity_id
)>参照catalog_product_entity
( `e) 'in> /www/htdocs/w00f5624/lib/zend/db/statement/pdo.php:228
これを修正するにはどうすればよいですか?
解決
Sanderが正しく述べたように、製品のフラットテーブルにまだ存在する削除された製品がこのエラーを引き起こします。とにかく、テーブル全体を切り捨てる必要はありません。これらの製品は、この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 )
その後、これらのアイテムを削除する必要があります。これは、この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 )
ここから取られた(ドイツ語): http://www.avs-webentwicklung.de/nc/blog/artikel/magento-fehler-beim-index-aufbau-sofortmassnahmen.html
もっとアドバイスが必要かどうか尋ねてください。
他のヒント
私は以前にこの問題を抱えていました。 Product_flat_Dataテーブルを切り捨て、その後再インネックスすることで解決しました。これは、テーブルにまだ存在していない既存の製品が原因です。