MySQL can’t specify target table for update in FROM clause
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL can’t specify target table for update in FROM clause相关的知识,希望对你有一定的参考价值。
翻译:MySQL不能指定更新的目标表在FROM子句
源SQL语句:
- delete from t_official_sys_user
- where USER_NAME IN(SELECT USER_NAME FROM t_official_sys_user b group by b.`USER_NAME` having count(1) > 1)
执行报以下错误:
- [SQL]
- delete from t_official_sys_user
- where USER_NAME IN(SELECT USER_NAME FROM t_official_sys_user b group by b.`USER_NAME` having count(1) > 1)
- [Err] 1093 - You can‘t specify target table ‘t_official_sys_user‘ for update in FROM clause
解决代码如下:
- delete from t_official_sys_user
- where USER_NAME IN(
- select USER_NAME from
- (
- SELECT USER_NAME FROM t_official_sys_user b group by b.`USER_NAME` having count(1) > 1
- ) as temtable
- );
分析:
先把要删除的目标放到一张临时表再把要删除的条件指定到这张临时表即可。
http://blog.csdn.net/bluestarf/article/details/46622455
http://www.cnblogs.com/nick-huang/p/4412818.html
以上是关于MySQL can’t specify target table for update in FROM clause的主要内容,如果未能解决你的问题,请参考以下文章
mysql中You can't specify target table for update in FROM clause
mysql You can't specify target table for update in FROM clause解决方法
mysql中You can't specify target table for update in FROM clause错误
mysql error:You can't specify target table for update in FROM clause
MySQL中You can't specify target table for update in FROM clause一场
mysql中You can’t specify target table for update in FROM clause错误解决方法