Mysql无法添加或更新子行,外键相关失败



错误:无法添加或更新子行:外键约束失败

以下是造成错误的代码:

ALTER TABLE 'catalog_eav_attribute' 
  ADD CONSTRAINT 'FK_CATALOG_EAV_ATTRIBUTE_ID' 
  FOREIGN KEY ('attribute_id') REFERENCES 'eav_attribute' ('attribute_id)' 
  ON DELETE CASCADE ON UPDATE CASCADE;

我上传了SQL的结构,它没有问题,但当我插入数据时,我会收到上面的相关错误。我在某个地方读过书,我预测它是因为糟糕的数据。出现错误的其他可能性是什么?任何建议或解决方案都会很棒。

"对于InnoDB以外的存储引擎,MySQL Server解析CREATE TABLE语句中的FOREIGN KEY语法,但不使用或存储它。"

发件人:http://dev.mysql.com/doc/refman/5.5/en/ansi-diff-foreign-keys.html

我不确定,但如果您的表是MyISAM而不是InnoDB,那么您的语法可能不起作用。

错误消息意味着您试图放入attribute_id列的任何数字在eav_attribute.attribute_id列中都不存在。

是否可以插入eav_attribute.attribute_id中已经存在的值?(你可能可以。)

您是否可以通过尝试在eav_attribute.attribute_id中插入一个不存在的值来引发同样的错误?

调和分歧,你就完了。您需要确定eav_attribute.attribute_id中不存在哪些属性id,并修复此问题。

相关内容

  • 没有找到相关文章

最新更新