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

时间:2013-06-15 07:53:36

标签: mysql database foreign-keys foreign-key-relationship

enter image description here

我能够在商家表格中成功插入一行,但不能在 business_contact 表格中插入一行。每当我尝试在 business_contact 表中插入一行时,都会出现以下错误:

#1452 - 无法添加或更新子行:外键约束失败

虽然我尝试在 business_contact 表中插入的行的商家表中已存在 BusinessID 。< / p>

business_contact 插入声明失败

INSERT INTO business_contact(BusinessID, BusinessContactTypeID, BusinessContactData) VALUES (1, 1, '0097336031000');

1 个答案:

答案 0 :(得分:2)

您应该在businesscontact_type_lookup表格中查看以下内容:  1. business表格有BusinessID值,您要插入business_contact 2. contact_type_lookup table has ContactTypeID value that you are trying to insert into business_contact

此错误与丢失BusinessID和/或遗失ContactTypeID有关。要验证这一点,请从BusinessID表中选择business记录,从ContactTypeID表中选择contact_type_lookup

例如: 如果您正在执行以下查询:

insert into business_contact(BusinessContactID, BusinessID, BusinessContactTypeID, BusinessContactData) values ('1', '2', '3', 'This is the business contact data');

然后,确保以下查询返回有效结果:

select BusinessID from business where BusinessID = 2;

select ContactTypeID from business_contact_type where ContactTypeID = 3;
相关问题