所以我通过将该表连接到另一个表来删除表中的记录。
在开始运行此语句之前,我已禁用外键。
所以我有两个表A和B,我正在使用B列的连接删除表A中的列,以删除与列id
匹配的记录以及where子句中的另一个标准。
这是查询
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'
从参考表中删除
答案 0 :(得分:1)
因为您在多表查询(db.A和db.B)中“引用表”(db.A)。
如果您没有在“删除连接”上指定表,则查询将不起作用,因为mysql不知道您要更新哪个表。
因此,您引用要删除的表。