mysql报错ERROR 1093
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,今天在尝试用子查询来关联更新一个表的收到如下报错: ERROR 1093 (HY000): You can't specify target table 'v_member_info' for upd
千家信息网最后更新 2024年11月22日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安全错误
数据库的锁怎样保障安全
电脑数据库的日志满了怎么办
debian 软件开发
共享单车软件开发流程
哈尔滨sql数据库培训
浪潮服务器什么时候发布
飞秋需要服务器吗
软件开发费用免税
怎么管理软件开发项目
网络安全专家韩荣峰个人信息
驾校网络安全制度
斗地主软件开发
php怎么能安全删除数据库
青岛crm软件开发中心
千兆多画面轮循监测服务器
通信与网络技术的应用
微信网络安全如何举报
上海高科技互联网企业
电脑服务器怎样登陆
怎么查看自己的数据库在哪里
自主可控软件开发批发价
成都 网络安全周
教育类软件开发流程
数据库密码加密
dns服务器被攻击
网络安全能进腾讯吗
数据库文件中建立表课程
下载软件开发平台
小学开展网络安全活动方案
catch数据库组层次
没有网站的服务器入侵思路