打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
MySQL 中 You can''''t specify target table ''''表名'''' for update in FROM clause错误解决办法

在MySQL中,写SQL语句的时候 ,可能会遇到You can't specify target table '表名' for update in FROM clause这样的错误,它的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中),即不能依据某字段值做判断再来更新某字段的值。


1、数据准备

product表数据如下:



laptop表数据如下:


2、要求:#删除所有不生产打印机厂商生产的笔记本电脑

第一步:对aptop表进行操作

操作没有问题,按照本思路对product表进行操作

产生You can't specify target table '表名' for update in FROM clause错误



3、问题解决

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


需要注意的是,这个问题只出现于MySQL,MSSQL和Oracle不会出现此问题。


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
mysql中You can't specify target table for update in FROM clause错误
mysql中You can’t specify target table for update in FROM clause错误解决方法
update mysql row (You can't specify target table 'x' for update in FROM clause)
MySQL中replace into语句的用法详解
mysql update replace 正则
【MySQL】多表连接更新(update),使用临时表加快效率
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服