Mia*_*ger 17 mysql sql foreign-keys
我收到这个错误:
1452 - 无法添加或更新子行:外键约束失败.
我找到了他们并试图摆脱参考
alter table tillhör drop foreign key kat_id;
Run Code Online (Sandbox Code Playgroud)
但是反而得到这个错误:
#1025 - 将'.\ _\_对于'.\ _对于'.\ _对于'.\ _对于'.\ recept#sql2-1570-3cb'(错误号:152)重命名.
我做错了什么?
Mih*_*hai 37
在查询运行之前
SET FOREIGN_KEY_CHECKS=0
Run Code Online (Sandbox Code Playgroud)
完成后将其设置为1.
Jak*_*han 15
我面临同样的问题.我通过清除来解决这个问题,即从子表中删除所有数据并成功完成.
如果子表包含一些不在父表中的外键的数据,即如果有两个名为Person(具有列id,名称,地址)和顺序(具有列id,person_id,order_name)的表,则会发生这种情况; order.person_id是person.id的外键,order表包含person表中不存在的person_id.
您可以使用以下查询解决此问题
Delete from order where person_id NOT IN (select id from person where person.id = order.person_id)
Run Code Online (Sandbox Code Playgroud)