我想从两个表中删除行

时间:2016-03-08 11:12:24

标签: mysql

如果我触发查询删除,它只从一个表中删除,而不是两个表。 请帮我找到解决方案。在下面给出了我试过的查询。

DELETE m.* FROM master m
INNER JOIN field f ON m.id = f.label_id
WHERE f.id='13'

Mater表正在删除但不是字段表。

1 个答案:

答案 0 :(得分:2)

  1. 为了删除表mf中的条目 加入结果:

    DELETE m,f FROM master m
    INNER JOIN field f ON m.id = f.label_id
    WHERE f.id='13';
    
  2. 为了从联合结果中删除表m中的条目:

    DELETE m FROM master m
    INNER JOIN field f ON m.id = f.label_id
    WHERE f.id='13';
    
  3. 为了从联合结果中删除表f中的条目:

    DELETE f FROM master m
    INNER JOIN field f ON m.id = f.label_id
    WHERE f.id='13';
    
  4. 注意:更好的方法可能是设置具有行为ON DELETE CASCADE的外键约束。但为此你需要 InnoDb 作为你的存储引擎。