Magento 1.7:不能redindex 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
('
我该如何解决??
解决方案
正如桑德(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 )
问我是否需要更多建议。
其他提示
我以前有这个问题。我通过截断product_flat_data表和后来的重新索引来解决它。它是由表中仍然存在的非现有产品引起的。