1

我正在尝试根据另一个表(项目,购买者)中的 ID 删除我的一些表中的几行。

这就是我想要做的..

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

所以如果这有任何意义......这是我正在尝试的总和...... items.sql 包含行“item_id”和“purchasedBy”。items_people 和 items_places.sql 需要根据购买者为 84 的 item_id 删除行。

我真的希望这是有道理的,因为我只是想着如何解释它而感到头疼……对不起!

4

2 回答 2

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;
于 2013-06-20T12:14:52.590 回答
0

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

DELETE FROM {table} WHERE {param} = 84

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

目前我无法提供更好的建议,因为我不太了解您的表格结构。

于 2013-06-20T12:11:50.663 回答