欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql update in 报错解决

程序员文章站 2022-05-08 22:06:57
...

在用到mysql update in的时候报错 update area set status='ON' where id in(select id from area where status='ON' and name like '%市辖%') [SQL]update area set status='ON' where id in(select id from area where status='ON' and name like '%市辖%'

在用到mysql update in的时候报错

update area set status='ON' where id in(select id from area where status='ON' and name like '%市辖%')


[SQL]update area set status='ON' where id in(select id from area where status='ON' and name like '%市辖%')


[Err] 1093 - You can't specify target table 'area' for update in FROM clause



下面语句可以通过

update area a  inner join(select id from area where id in(select id from area where status='ON' and name like '%市辖%')) b on  a.id=b.id set a.status='OFF'

select * from area a inner join(select id from area where id in(select id from area where status='ON' and name like '%市辖%')) b on  a.id=b.id