如何更新使用过滤条件中包括自身的表
update user1 set over='齐天大圣'
where user1.user_name in (
SELECT
b.user_name
FROM
user1 a
inner JOIN user2 b ON a.user_name = b.user_name
)
[Err] 1093 - You can't specify target table 'user1' for update in FROM clause
MySQL中不支持,解决如下:
update user1 a JOIN(
select b.user_name from user1 a INNER JOIN user2 b
on a.user_name=b.user_name
)b on a.user_name=b.user_name
set a.over='齐天大圣'