博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql中You can’t specify target table for update in FROM clause错误解决方法
阅读量:6609 次
发布时间:2019-06-24

本文共 604 字,大约阅读时间需要 2 分钟。

hot3.png

mysql中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。 例如下面这个sql:

update tb_branch_group bg set bg.`status` = 0WHERE	bg.id IN (		SELECT			b.id		FROM			tb_branch_group b		WHERE			b.sys_org_code LIKE CONCAT("01", '%')	)

处理方法:

UPDATE tb_branch_group bgSET bg.`status` = 0WHERE	bg.id IN (		SELECT			tmp.id		FROM			(				SELECT					b.id				FROM					tb_branch_group b				WHERE					b.sys_org_code LIKE CONCAT("002", '%')			) tmp	)

也就是说将select出的结果再通过中间表select一遍,这样就规避了错误。

注意,这个问题只出现于mysql,mssql和oracle不会出现此问题。

转载于:https://my.oschina.net/u/3568600/blog/1797667

你可能感兴趣的文章
vue学习:10、第一个项目,实践中遇到的问题
查看>>
sed的基本用法
查看>>
一个不错的shell 脚本入门教程
查看>>
JVM、GC相关资料
查看>>
dell r620装cenots7遇到的问题
查看>>
Ansible之playbook的使用
查看>>
ansible模块批量管理
查看>>
redis命令 - GET
查看>>
httpd.conf的基本设置
查看>>
RHEL/Centos7新功能
查看>>
DBA日常工作职责
查看>>
Redis的持久化
查看>>
linux安装NFS服务器学习
查看>>
Planner .NET日历日程控件能给你的应用程序提供多种日历日程功能
查看>>
我的友情链接
查看>>
Linux压力测试
查看>>
JAVA中的线程机制(二)
查看>>
nginx安装与配置2(转载)
查看>>
Linux下Mongodb安装和启动配置
查看>>
2015 成长计划
查看>>