我在Navicat中运行sql查询,因此出现错误;
质询:
ALTER TABLE `customer_eav_attribute`
ADD CONSTRAINT `CUSTOMER_EAV_ATTRIBUTE_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID`
FOREIGN KEY (`attribute_id`)
REFERENCES `eav_attribute` (`attribute_id`)
ON DELETE CASCADE;
错误:
1452 - Cannot add or update a child row: a foreign key constraint
fails (`caterin1_test`.`#sql-dd4_13`, CONSTRAINT
`CUSTOMER_EAV_ATTRIBUTE_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID`
FOREIGN KEY (`attribute_id`)
REFERENCES `eav_attribute` (`attribute_id`)
ON DELETE CA)
我该怎么修呢?
3条答案
按热度按时间vq8itlhq1#
我认为eav_attribute表和customer_eav_attribute表中没有关联id,必须检查eav_attribute表和customer_eav_attribute表(最佳方式:请删除eav_attribute和customer_eav_attribute,然后重新插入数据)。您可以找到解决方案。
fcg9iug32#
当您尝试将源文件导入现有数据库时,通常会发生这种情况。请删除两个表(customer_eav_attribute、eav_attribute)。请重新创建表。
然后像这样设置。
68de4m5k3#
父表必须存在,然后才能定义外键来引用它。必须按正确的顺序定义表:首先是父表,然后是子表。如果两个表相互引用,则必须创建一个不带FK约束条件的表,然后创建第二个表,最后使用ALTER TABLE将FK约束条件添加到第一个表。