首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么即使禁用外键,我还是会“从引用表中删除”

问为什么即使禁用外键,我还是会“从引用表中删除”
EN

Stack Overflow用户
提问于 2015-03-31 17:03:54
回答 1查看 1.4K关注 0票数 0

因此,通过将该表加入到另一个表中,我将删除表中的记录。

在开始运行此语句之前,我已经禁用了外键。

因此,我有两个表A和B,我从表A中删除列,使用join with列B删除与id列匹配的记录,以及where子句中的另一个条件。

以下是查询

代码语言:javascript
复制
SET FOREIGN_KEY_CHECKS=0;

delete db.A from db.A join db.B USING(id) where name='xx';

SET FOREIGN_KEY_CHECKS=1;

为什么我仍然在mysql进程列表中得到以下'State‘

从参考表中删除

EN

回答 1

Stack Overflow用户

发布于 2016-03-09 20:15:59

因为您在多表查询(db.A和db.B)中“引用表”(db.A)。

如果没有在"delete join“上指定表,则查询将无法工作,因为mysql将不知道要更新哪个表。

因此,可以引用要删除的表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29374359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档