mysql报错ERROR 1093
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,今天在尝试用子查询来关联更新一个表的收到如下报错: ERROR 1093 (HY000): You can't specify target table 'v_member_info' for upd
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
金融科技还是互联网
深圳互联网科技公司
极限挑战互联网科技
深圳齐家互联网科技
银优互联网科技有限公司
汇久创客互联网科技
长亮科技 互联网金融
互联网 科技馆
以后互联网后是啥科技
互联网公司科技股
花神(南京)互联网科技有限公司
未来五年的互联网科技
互联网科技扶贫时间
迪庆互联网科技招生
中国互联网公司排名锤子科技
互联网科技的全部知识
深圳互联网科技的发展
工业互联网科技成果转化
福州德业互联网科技
恒生科技指数 中概互联网
华服互联网科技靠谱吗
为想互联网科技怎么样
港股互联网科技股
汉立互联网科技有限公司联系电话
互联网之后的科技是什么
互联网系的金融科技公司
互联网科技扶贫时间
图游互联网科技
山东大美朱楼互联网科技有限公司
杭州融税互联网科技有限公司