mysql报错ERROR 1093
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,今天在尝试用子查询来关联更新一个表的收到如下报错: ERROR 1093 (HY000): You can't specify target table 'v_member_info' for upd
千家信息网最后更新 2025年02月05日mysql报错ERROR 1093今天在尝试用子查询来关联更新一个表的收到如下报错: ERROR 1093 (HY000): You can't specify target table 'v_member_info' for update in FROM clause 具体执行的sql如下: MySQL [meminfo]> update v_member_info set cust_right_group=0 where id in (select id from v_member_info where pay_end_date<'2018-01-29' and cust_right_group>0); ERROR 1093 (HY000): You can't specify target table 'v_member_info' for update in FROM clause 原来是mysql在update的时候, 原始表不能出现在where 后面第一层的子查询中; 解决办法:两种改写方法 1)改写成join方式更新 MySQL [meminfo]> update v_member_info as a ,(select id,cust_right_group from v_member_info where pay_end_date<'2018-01-29' and cust_right_group>0) as b set a.cust_right_group=0 where a.id=b.id; Query OK, 288 rows affected (2.35 sec) Rows matched: 288 Changed: 288 Warnings: 0 2)或者改成子查询之子查询 MySQL [meminfo]> update v_member_info set cust_right_group=0 where id in(select id from (select id from v_member_info where pay_end_date<'2018-01-29' and cust_right_group>0)a); 小结:Oracle和MySQL还是有区别的,MySQL在update的时候,原始表不能出现在where 后面第一层的子查询当中,至于两种改写的性能的看具体业务和数据量的大小。
查询
原始
时候
更新
业务
办法
大小
小结
性能
数据
方式
方法
还是
之子
关联
尝试
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
库尔勒网络安全
网站数据库连接模版
服务器网络测速
物理网络技术的基本结构
互联网现代科技
什么是软件开发创意
住房公积金服务器维护
医院安全指标数据库
关于网络安全有哪些主题
万方数据库查重中途退出来
数据中心和网络服务器的区别
智能驾驶网络技术
25还适合学软件开发
山西触摸屏软件开发公司
2016储存球员数据库
互联网科技热榜
莱芜服务器管理系统商家
梦幻西游互通版没有服务器界面
数据库服务器硬件评估
新罗区纳眉网络技术
济南网络安全应急支撑单位
云服务器能放app吗
td350服务器能装8t硬盘吗
电子病历数据库改造升级
一个游戏连同服务器怎么开发
网络安全拼多多
网络技术研究现状
数据库运用技术范畴
福建信息网络技术学院
成都软件开发培训 初中