当前位置: 首页 > 编程笔记 >

mysql中You can’t specify target table for update in FROM clause错误解决方法

金旺
2023-03-14
本文向大家介绍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错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。 例如下面这个sql:


delete from tbl where id in 

(

        select max(id) from tbl a where EXISTS

        (

            select 1 from tbl b where a.tac=b.tac group by tac HAVING count(1)>1

        )

        group by tac

)

改写成下面就行了:


delete from tbl where id in 

(

    select a.id from 

    (

        select max(id) id from tbl a where EXISTS

        (

            select 1 from tbl b where a.tac=b.tac group by tac HAVING count(1)>1

        )

        group by tac

    ) a

)

也就是说将select出的结果再通过中间表select一遍,这样就规避了错误。注意,这个问题只出现于mysql,mssql和oracle不会出现此问题。

 类似资料:
  • 本文向大家介绍MySQL错误ERROR 1615 解决方法,包括了MySQL错误ERROR 1615 解决方法的使用技巧和注意事项,需要的朋友参考一下 今天测试合服脚本的时候,遇到一个很奇怪的问题。Mysql报ERROR: ERROR 1615 (HY000): Prepared statement needs to be re-prepared 经过测试,发现不是合服脚本的问题。经过一番搜索。发

  • 本文向大家介绍Mysql ERROR 1577错误解决方法,包括了Mysql ERROR 1577错误解决方法的使用技巧和注意事项,需要的朋友参考一下 今天将Mysql升级到了5.1.31,用Navicat打开数据库添加数据,出现了1577错误,提示信息: 查看手册(5.4. mysql_fix_privilege_tables:升级MySQL系统表),一些MySQL发布对mysql数据库中的系统

  • 本文向大家介绍MySQL启动错误解决方法,包括了MySQL启动错误解决方法的使用技巧和注意事项,需要的朋友参考一下 一般情况下mysql的启动错误还是很容易排查的,但是今天我们就来说一下不一般的情况。拿到一台服务器,安装完mysql后进行启动,启动错误如下: 有同学会说,哥们儿你是不是buffer pool设置太大了,设置了96G内存。这明显提示无法分配内存嘛。如果真是这样也就不在这里进行分享了,

  • 本文向大家介绍MYSQL中 TYPE=MyISAM 错误的解决方法,包括了MYSQL中 TYPE=MyISAM 错误的解决方法的使用技巧和注意事项,需要的朋友参考一下 create 语句后面的TYPE=MyISAM TYPE=MyISAM 和 ENGINE=MyISAM 都是设置数据库存储引擎的语句 ,(老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE = MYISAM)。 MyS

  • 本文向大家介绍解决mySQL中1862(phpmyadmin)/1820(mysql)错误的方法,包括了解决mySQL中1862(phpmyadmin)/1820(mysql)错误的方法的使用技巧和注意事项,需要的朋友参考一下 发现问题 之前一直运行的好好的,突然mysql就无法工作了。请求命令后报错误:ERROR 1820 (HY000): You must SET PASSWORD befor

  • 本文向大家介绍Mysql错误:Too many connections的解决方法,包括了Mysql错误:Too many connections的解决方法的使用技巧和注意事项,需要的朋友参考一下 MySQL数据库 Too many connections 出现这种错误明显就是 mysql_connect 之后忘记 mysql_close; 当大量的connect之后,就会出现Too many co

  • 本文向大家介绍Mysql错误1366 - Incorrect integer value解决方法,包括了Mysql错误1366 - Incorrect integer value解决方法的使用技巧和注意事项,需要的朋友参考一下 由于这个数据库服务器存放的数据库比较多且都是小数据库,所以最初的时候是运行在windows服务器上的。前一段时间由于机房服务器要做调整,于是我便在一个夜深人静的夜晚对数据库

  • 本文向大家介绍Mysql 错误too many connections解决方案,包括了Mysql 错误too many connections解决方案的使用技巧和注意事项,需要的朋友参考一下 Mysql 错误提示too many connections,最近遇到这个错误,经过上网查资料解决了,这里记录下,帮助有需要的朋友, 解决方法是修改/etc/mysql/my.cnf,添加以下一行: set-