Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 无法使用正确的命令删除记录_Mysql_Sql_Foreign Keys_Sql Delete - Fatal编程技术网

Mysql 无法使用正确的命令删除记录

Mysql 无法使用正确的命令删除记录,mysql,sql,foreign-keys,sql-delete,Mysql,Sql,Foreign Keys,Sql Delete,我无法删除这些记录。如何绕过外键 我的桌子: 用户表: 用户位置表: 命令和错误: 外键约束阻止您删除父记录,只要它被任何子记录引用。这对应于默认的引用操作,即删除限制时的 不过,还有其他选择。除非您有充分的理由不这样做,否则我建议将delete cascade上的referential更改为,:这样,当父记录离开时,子记录会自动删除 这需要重新创建约束: alter table user_locations drop foreign key user_locations_user_id_f

我无法删除这些记录。如何绕过外键

我的桌子:

用户表:

用户位置表:

命令和错误:


外键约束阻止您删除父记录,只要它被任何子记录引用。这对应于默认的引用操作,即删除限制时的

不过,还有其他选择。除非您有充分的理由不这样做,否则我建议将delete cascade上的referential更改为
:这样,当父记录离开时,子记录会自动删除

这需要重新创建约束:

alter table user_locations drop foreign key user_locations_user_id_foreign;  

alter table user_locations 
    add constraint user_locations_user_id_foreign
    foreign key (user_id) references users (id) on delete cascade;  

有了这个设置,您只需运行原始的
delete
语句;子记录将与父记录同时自动删除。

“如何绕过外键?”-绕过?您试图违反引用完整性,这就是系统禁止您这样做的原因。