mysql中You can’t specify target table for update in FROM clause错误解决方法
作者:junjie 发布时间:2024-01-19 02:24:26
标签: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不会出现此问题。


猜你喜欢
- 1 安装pyqt51.1 安装pyqt5pip install PyQt51.2 安装pyqt5常用工具包pip install PyQt5
- 临时表与内存表内存表,指的是使用Memory引擎的表,建表语法是create table … engine=memory。这种 表的数据都保
- 本文实例为大家分享了Python实现24点小游戏的具体代码,供大家参考,具体内容如下玩法:通过加减乘除操作,小学生都没问题的。源码分享:im
- Python-OpenCV环境的配置看上一篇OpenCV环境的配置本篇主要介绍一下OpenCV的基本使用和相关函数的介绍。以下所有操作都基于
- 前言Python 是一种面向对象的、解释型的、通用的、开源的脚本编程语言。现在市面上 Python 非常的流行,主要是因为它简单易用,学习成
- 各种坑用py2exe,不支持,仅支持2.x用cx_frezee,各种问题方法 用pyinstaller。安装时务必用pip3 install
- 以前用js很少用到js的正则表达式,即使用到了,也是诸如邮件名称之类的判断,网上代码很多,很少有研究,拿来即用。最近开发遇到一些需要使用正则
- 在爬虫百度地图的期间,就为它做了一个界面,运用的是PyQt5。得到意想不到的结果:# -*- coding: utf-8 -*-# Form
- 如下所示:>>> item={} ; items=[] #先声明一个字典和一个列表,字典用来添加到列表里面&g
- 今天有朋友问我 Turtle的安装问题,在这里简单说在github上我们可以看到Turtle这个库很久没有更新了,里面还有一些python3
- 第一种: 如果你使用的是WinXP或者Win2kPro版的系统,你不会出现这个问题,因为你只能把网站放在C:\intpub\wwwroot目
- 第一种,使用reversed 函数,reversed返回的结果是一个反转的迭代器,我们需要对其进行 list 转换listNode = [1
- 前言这里先说明一下,网上很多人说阿里规定500w数据就要分库分表。实际上,这个500w并不是定义死的,而是与MySQL的配置以及机器的硬件有
- 看下文章前我想先说一个问题遇到问题不要盲目的搜索答案,先看看终端提示什么错误,下面我总结一下会出现jupyter notebook运行命令,
- 本文实例讲述了Symfony2框架表单用法。分享给大家供大家参考,具体如下:对于一个Web开发者来说,处理HTML表单是一个最为普通又具挑战
- 一、环境配置大多数人无法登录网页版,所以饶过它模拟电脑登录,这个模块一定记得安装:pip install itchat-uospip ins
- TKinterPython 的 GUI 库非常多,之所以选择 Tkinter,一是最为简单,二是自带库,不需下载安装,随时使用,跨平台兼容性
- 关于元组,上一讲中涉及到了这个名词。本讲完整地讲述它。先看一个例子:>>>#变量引用str>>> s =
- 前言: 时间戳字段在MySQL中经常使用到,比如需要记录一行数据创建的时间或修改的时间时,我们通常会使用时间戳即timestamp字段。本篇
- 前言一向用Python 3,最近研究微信公众号开发,各云平台只支持Python 2.7,想用其他版本需要自己搭建环境。而网上又搜不到Pyth