mysql报错ERROR 1093
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,今天在尝试用子查询来关联更新一个表的收到如下报错: ERROR 1093 (HY000): You can't specify target table 'v_member_info' for upd
千家信息网最后更新 2025年11月13日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安全错误
数据库的锁怎样保障安全
江西通用软件开发代理价钱
陕西省网络安全宣传周答题
不同的抽象层次数据库模型
软件开发是35
软件开发项目练习
用友t6数据库初始化
数据中心需要多少服务器
杭州的网络安全公司排名
网络技术服务费收取标准
软件开发商前景
qq小游戏服务器ip
软件开发迭代的理解
惠普软件开发好还是测试好
微信在服务器保存聊天记录
金税盘服务器上传参数
如何把VF多个数据库合并为一个
电大自动网络技术多久能毕业
找回历史服务器
张家界昱晟网络技术服务有限公司
数据库自动填写id
软件开发单身
西安微信营销软件开发
丰富网络安全教育
网络安全设备备份方式
网络安全保卫大队长
数据库清理操作说明
广州pc软件开发费用是多少
网络安全行政执法指引
外网访问内网vpn服务器
it指网络技术