MySQL查询帮助。 (从哪里删除)

时间:2013-06-20 11:57:59

标签: mysql sql navicat

我试图根据另一个表中的ID(items,purchaseBy)删除一些表中的几行。

这就是我要做的事情。

  

从items.sql中删除'PurchasedBy'为84.删除自   items_people,其中item_id是(item_id在items.sql里面的顶部   查询)从items_places删除item_id是(item_id里面   来自顶部查询的items.sql)

所以,如果这有任何意义......这里是我正在尝试的总和.. items.sql包含行“item_id”和“purchaseBy”。 items_people和items_places.sql需要根据item_id删除行,其中purchaseby是84 ..

我真的希望这是有道理的,因为我的脑袋只是在考虑如何解释它而受到伤害...对不起!

2 个答案:

答案 0 :(得分:4)

MySQL支持多表DELETE语法。

DELETE i.*, p.*, pl.*
FROM items AS i
LEFT OUTER JOIN items_people AS p USING (item_id)
LEFT OUTER JOIN items_places AS pl USING (item_id)
WHERE i.PurchasedBy = 84;

答案 1 :(得分:0)

如果您只是在寻找正确的语法,那么您可以使用:

DELETE FROM {table} WHERE {param} = 84

将{table}替换为您的表名,并将{param}替换为您希望ID匹配的列,即item_idpurchasedBy

我现在无法提供更好的建议,因为我不太了解你的表结构。