mysql嵌套在更新中选择

时间:2015-09-21 09:07:59

标签: mysql sql nested

早上好,

我在更新数据库时遇到问题。

这是我的订单表:

UPDATE orders
SET orders.paid = NOW()
WHERE (
    SELECT orders.parent_id
    FROM orders
    WHERE orders.id = orders.parent_id
)

现在我需要更新所有支付parent_id的订单。由于嵌套查询,我在执行此操作时遇到了一些麻烦。

我试过这样的事情

1 | NULL | 8 | 2015-20-09 12:00:00
2 | 1    | 7 | 0000-00-00 00:00:00
3 | 1    | 7 | 0000-00-00 00:00:00
4 | NULL | 8 | 2015-18-09 12:00:00
5 | 4    | 7 | 0000-00-00 00:00:00

但这不会有魔力。 无法进入这个:/

Binding

1 个答案:

答案 0 :(得分:0)

您可以使用JOIN进行更新

update orders o1
join orders o2 on o2.id = o1.parent_id
set o1.paid = now()
where o2.paid <> '0000-00-00 00:00:00'