此问题已在此处有答案:
ERROR 1452: Cannot add or update a child row: a foreign key constraint fails(28回答)
12天前关闭
我试图从表customer.添加外键到表的现有列。其中表名是cardvalidator列名是cid。
使用查询-alter table cardvalidator add constraint fk_cid foreign key (cid) references customer (cid);
但是我得到了一个错误不能添加或更新子行在mysql。谁能帮助我解决这个问题
1条答案
按热度按时间1qczuiv01#
该错误意味着,在表cardvalidator中已经有行,其列cid中的值在表customer中的相应引用列中不存在。对子表cardvalidator定义外键约束的原因是为了确保表中的客户ID始终与父表customer中的客户ID匹配。由于此要求失败,因此约束定义失败。
简单的解决方案:如果您正在使用开发环境中的表进行测试,请更正cardvalidator中客户id在customer表中不存在的行。您必须更新表中的cid列值或在customer表中添加新的customer行。