mysql 不能对同一个表进行 update(delete) 和 select 联合操作
eq: update a set a.x = 1 where a.y in (select a.x from a);
上边语法是错误的,在对aupdate 时不能再条件中对同一个a表进行 select 操作
如果非得要操作 那只能 把 条件中 再关联一次(不能的缘由是因为 条件中的查询是 在 临时表中查的,保存却是原表,解决方法就是将查询和保存都放在临时就可以了)
update a set a.x = 1 where a.y in ( select t.x from (select x from a)t );
如:
DELETE e FROM player_dream_select e, (SELECT * FROM player_dream_select n WHERE NOT EXISTS (SELECT * FROM ( SELECT z.n_roleid,z.n_type,z.n_section_id,SUM(z.n_star) AS score FROM (SELECT g.n_roleid,g.n_gate_oid,g.n_star,t.n_type,t.n_section_id FROM (SELECT n_roleid,n_gate_oid,n_star FROM player_dream_gate ) g LEFT JOIN dict_dream_template t ON (g.n_gate_oid=t.n_id) ) z GROUP BY
z.n_roleid,z.n_type,z.n_section_id ) o WHERE n.n_roleid = o.n_roleid AND n.n_type = o.n_type AND n.n_select_id = o.n_section_id)) w WHERE e.n_roleid = w.n_roleid AND e.n_type = w.n_type AND e.n_select_id = w.n_select_id;
上边在删除 player_dream_select 的条件中又对 它进行管理查询,上边是可以正常执行的,可执行的就是在查询 它自己时又临时封装了一层
mysql 不能对同一个表进行 update(delete) 和 select 联合操作的更多相关文章
- mysql 防止update/delete误操作
身为一php开发攻城狮,常常涉及在应用中写update/delete语句,忘记加where,后果不堪设想. 还会出现在cml下直接操作mysql的情况,如果mysql 权限够大,一个update/de ...
- MySQL 中国省市区SQL表数据
MySQL 中国省市区SQL表数据 1.查省SELECT * FROM china WHERE china.Pid=02.查市SELECT * FROM chinaWHERE china.Pid= ...
- MySQL 误删数据、误更新数据(update,delete忘加where条件)
MySQL 误操作后数据恢复(update,delete忘加where条件) 关键词:mysql误删数据,mysql误更新数据 转自:https://www.cnblogs.com/gomysql/p ...
- MySQL 误操作后数据恢复(update,delete忘加where条件)【转】
在数据库日常维护中,开发人员是最让人头痛的,很多时候都会由于SQL语句 写的有问题导致服务器出问题,导致资源耗尽.最危险的操作就是在做DML操作的时候忘加where条件,导致全表更新,这是作为运维或者 ...
- sql中同一个Trigger里同时包含Insert,Update,Delete
sql中同一个Trigger里同时包含Insert,Update,Delete SQLServer是靠Inserted表和Deleted表来处理的,判断一下就可以了,只不过比ORACLE麻烦一点 cr ...
- MySQL不带where条件的UPDATE和DELETE 限制操作说明
本文来自 网易云社区 . 数据安全是业务的基石,但是DBA 总会遇到救火情况,业务误删除全表或者误更新错全表业务数据,导致服务不可用 sql_safe_updates参数可以限制不带where条件的u ...
- mysql数据恢复 insert\update\delete 工具MyFlash
一.简介MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具.该工具通过解析v4版本的binlog,完成回滚操作.相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易. 该 ...
- Mysql 锁表 for update (引擎/事务)
因为之前用过oracle,知道利用select * for update 可以锁表.所以很自然就想到在mysql中能不能适应for update来锁表呢. 学习参考如下 由于InnoDB预设是Row- ...
- python3 速查参考- python基础 9 -> MySQL基础概念、数据库create、alter、insert、update、delete、select等基础命令
前置步骤: 下载一个绿色版的mysql数据库客户端连接工具 :http://wosn.net/821.html mysql平台为win7(以后会有CentOS上的) 学习目的: 掌握数据库的基本概念, ...
随机推荐
- Spring Cloud 系列之 Netflix Hystrix 服务容错
什么是 Hystrix Hystrix 源自 Netflix 团队于 2011 年开始研发.2012年 Hystrix 不断发展和成熟,Netflix 内部的许多团队都采用了它.如今,每天在 Netf ...
- springboot基础-redis集群
一.pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...
- axios Api介绍
1.Performing a GET request axios.get('/user?ID=12345') .then(function (response) { // handle success ...
- WxPython 4.0.4多线程访问UI
最开始做框架的时候的需求就是多线程访问UI,以前在.NET WPF使用MVVM和数据驱动很容易做到,在JavaSwing中使用另类的观察者模式也实现了.在WxPython中使用观察者模式直接程序崩溃, ...
- 远程调试docker构建的weblogic
环境信息 OSType: CentOS Linux 7 (Core) x86_64 3.10.0-957.21.3.el7.x86_64 DockerVersion: 19.03.8 Mirrors: ...
- leetcode签到 892. 三维形体的表面积
题目 三维形体的表面积 在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上. 请你返回最 ...
- 【opencv系列04】OpenCV4.X图形绘制
一. 基本图形绘制 1. 基本函数与参数 cv2.line(): 线 cv2.circle(): 圆 cv2.rectangle(): 矩形 cv2.ellipse(): 椭圆 cv2.putText ...
- 2,MapReduce原理及源码解读
MapReduce原理及源码解读 目录 MapReduce原理及源码解读 一.分片 灵魂拷问:为什么要分片? 1.1 对谁分片 1.2 长度是否为0 1.3 是否可以分片 1.4 分片的大小 1.5 ...
- OpenCV-Python 理解特征 | 三十六
目标 在本章中,我们将尝试理解什么是特征,为什么拐角重要等等 解释 你们大多数人都会玩拼图游戏.你会得到很多小图像,需要正确组装它们以形成大的真实图像.问题是,你怎么做?将相同的理论投影到计算机程序上 ...
- python框架-Django创建项目
创建项目 django-admin startproject douban//创建project cd douban python manage.py startapp books//创建app项目 ...