【问题标题】:Magento: a foreign key constraint fails after update 1.4 -> 1.7Magento:更新 1.4 -> 1.7 后外键约束失败
【发布时间】:2013-02-02 00:16:31
【问题描述】:

SQLSTATE[23000]:违反完整性约束:1452 无法添加或 更新子行:外键约束失败 (my_magento/catalog_category_product_index, 约束 FK_CAT_CTGR_PRD_IDX_CTGR_ID_CAT_CTGR_ENTT_ENTT_ID 外键 (category_id) 参考资料catalog_category_entity (entity_id) O)

这是我在尝试重新索引数据时遇到的错误(按照此处的建议输出:"There was a problem‍​​ with reindexing process." after product import

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

【问题讨论】:

  • 您是如何进行升级的?数据库导入或连接升级?这是live shop还是test?
  • 我用官方手册做了升级。

标签: mysql magento foreign-keys upgrade


【解决方案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 

【讨论】:

  • 您的查询中有错字,已修复。谢谢你。
猜你喜欢
  • 1970-01-01
  • 2015-04-24
  • 2013-05-29
  • 1970-01-01
  • 2015-02-22
  • 1970-01-01
  • 2013-03-04
  • 2016-08-17
  • 2011-11-03
相关资源
最近更新 更多