0

SQLSTATE [23000]:完整性约束违规:1452 无法添加或更新子行:外键约束失败(my_magento/catalog_category_product_index,CONSTRAINT FK_CAT_CTGR_PRD_IDX_CTGR_ID_CAT_CTGR_ENTT_ENTT_IDFOREIGN KEY(category_id)REFERENCES catalog_category_entityentity_id)O)

这是我在尝试重新索引数据时遇到的错误(按照此处的建议输出:“重新索引过程存在问题。”产品导入后

但该解决方案根本没有帮助。请帮助在哪里搜索它,我对 MySQL 外键不太熟悉。如何检测损坏的记录?修复它们的原则是什么?

4

1 回答 1

1

您的一个产品引用了一个不存在的 category_id。通常在通过管理后端编辑内容时不应该发生这种情况。你是直接在数据库中删除了类别吗?

您必须检查哪个产品引用了该类别并删除该引用。类别和产品之间的引用存储在 catalog_category_product 中。catalog_category_entity 中的类别。要查找该行,您可以使用该查询:

SELECT * FROM catalog_category_product ccp
LEFT JOIN catalog_category_entity cce ON ccp.category_id = cce.entity_id
WHERE cce.entity_id IS NULL 
于 2013-02-02T18:00:18.503 回答