请教一下,我使用UPDATE更新表数据的时候,是否不能使用本表的子查询做条件,比如:
update dm_battalion_rank
set dm_days = 0
where dm_rank = 12
and dm_days <> 0
and dm_battalion_id in ( select dm_battalion_id from dm_battalion_rank where dm_rank = 11 and dm_days = 0 );报错:
Error Code : 1093
You can't specify target table 'dm_battalion_rank' for update in FROM clause
(0 ms taken)
update dm_battalion_rank
set dm_days = 0
where dm_rank = 12
and dm_days <> 0
and dm_battalion_id in ( select dm_battalion_id from dm_battalion_rank where dm_rank = 11 and dm_days = 0 );报错:
Error Code : 1093
You can't specify target table 'dm_battalion_rank' for update in FROM clause
(0 ms taken)
on a.dm_battalion_id=b.dm_battalion_id
set dm_days = 0
where dm_rank = 12
and dm_days <> 0
and b.dm_rank = 11 and b.dm_days = 0
试试