mysql中错误:1093-You can’t specify target table for update in FROM clause的解决方法
16lz
2022-01-03
发现问题
最近在处理一些数据库中数据的时候,写了下面的这一条sql语句:
UPDATE f_studentSET school_id = 0WHERE id > ( SELECT id FROM f_student WHERE school_id = M LIMIT 1 )AND id < ( ( SELECT id FROM f_student WHERE school_id = M LIMIT 1 ) + N)
[Err] 1093 – You can't specify target table ‘f_student' for update in FROM clause
解决方法
上网查了一下,针对这种问题可以通过”绕”的方式进行实现,下面看sql语句。
UPDATE f_student SET school_id = 0 WHERE id > ( SELECT id FROM ( SELECT id FROM f_student WHERE school_id = M LIMIT 1 ) AS temp ) AND id < ( ( SELECT id FROM ( SELECT id FROM f_student WHERE school_id = M LIMIT 1 ) AS temp_1 ) + N )
总结
更多相关文章
- Android(安卓)模糊搜索rawquery bind or column index out of ra
- 发现 developer.android.com 官网的一个单词错误:
- Android调用.NET Webservice报org.ksoap2.serialization.SoapPri
- Android(OpenCV) NDK开发: 0xdeadbaad(code=1)错误 及 关闭armea
- android中HttpURLConnection调用getResponseCode()时崩溃 解决方
- Android空引用问题的解决方法——on a null object reference
- ionic android升级错误 exposed beyond app through Intent.getD
- Java工程中调用Android库出现“Stub!”错误
- android读取assets大于1M文件的解决方法