我有两个表:orders 和 orders_items。两者共享字段 orderID。
我想从两个表中删除 orderID=500 的所有行,但我只需要在一个查询中执行此操作。这可能吗?
最佳答案
当然你可以做到:
DELETE FROM `table1`, `table2` WHERE `orderId` = 500
参见 http://dev.mysql.com/doc/refman/5.0/en/delete.html
[编辑:]
这就是整个技巧:
DELETE FROM `orders`, `orders_items`
USING `orders`
INNER JOIN `orders_items` ON `orders`.`orderId` = `orders_items`.`orderId`
WHERE `orders`.`orderId`= 500
如果 orderId 是 varchar,则将语句更改为 = '500'
。
关于mysql - 在一个查询中从两个表中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1339851/