在where类中使用相同的表更新表

xxls0lw8  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(239)

嗨,我正在用where类中的同一个表更新我的表列,但它给了我一个错误:
不能在from子句中为update指定目标表“orderitem”
我的问题是:

update orderitem set status = 3 where id in 
(select oi.id from `order` o inner join orderitem oi on oi.order_id = o.id where o.time < 1514764800 and oi.status = 1);
3xiyfsfu

3xiyfsfu1#

使用 join 取而代之的是:

update orderitem oi join
       `order` o
       on oi.order_id = o.id 
    set oi.status = 3
    where oi.status = 1 and o.time < 1514764800;

相关问题