全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

mysql中错误:1093-You can’t specify target table for update in FROM clause的解决方法

发现问题

最近在处理一些数据库中数据的时候,写了下面的这一条sql语句:

UPDATE f_student
SET school_id = 0
WHERE
 id > (
 SELECT
 id
 FROM
 f_student
 WHERE
 school_id = M
 LIMIT 1
 )
AND id < (
 (
 SELECT
 id
 FROM
 f_student
 WHERE
 school_id = M
 LIMIT 1
 ) + N
)

上面的sql是想将某个区间的数据进行修改,但是放到测试环境下一跑,报下面的错误:

[Err] 1093 – You can't specify target table ‘f_student' for update in FROM clause

意思很显而易见了,说不能对进行查询操作的表进行update操作,也就说我们的where条件中进行了子查询,并且子查询也是针对需要进行update操作的表的,mysql不支持这种查询修改的方式。

解决方法

上网查了一下,针对这种问题可以通过”绕”的方式进行实现,下面看sql语句。

UPDATE f_student SET school_id = 0 WHERE
                     id > 
                     (
                     SELECT id FROM ( 
                         SELECT id FROM f_student WHERE school_id = M LIMIT 1 
                       ) AS temp 
                     )
                     AND id <
                    (
                     (
                      SELECT id FROM ( 
                              SELECT id FROM f_student WHERE school_id = M LIMIT 1 
                             ) AS temp_1 
                     ) + N
                    )

ok,完全没有问题。上面的sql相比于之前的sql只是在取id的时候绕了一下,通过一个子查询的方式获取到id,而不是直接进行获取。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。


# mysql  # 1093错误  # 1093  # error  # 解决MySQL报错:You can‘t specify target table ‘region‘   # mysql事务select for update及数据的一致性处理讲解  # Mysql 数据库死锁过程分析(select for update)  # mysql中You can’t specify target table for update in  # mysql SELECT FOR UPDATE语句使用示例  # mysql for update是锁表还是锁行实例详解  # 这一  # 也就  # 可以通过  # 下一  # 写了  # 不支持  # 这篇文章  # 说不  # 显而易见  # 能对  # 解决方法  # 数据库中  # 进行了  # 想将  # 绕了  # 而不是  # 只是在  # 有疑问  # strong  # SET 


相关文章: 上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  如何确认建站备案号应放置的具体位置?  Python路径拼接规范_跨平台处理说明【指导】  建站之星会员如何解锁更多建站功能?  如何快速选择适合个人网站的云服务器配置?  建站主机空间推荐 高性价比配置与快速部署方案解析  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  制作表格网站有哪些,线上表格怎么弄?  公司网站制作价格怎么算,公司办个官网需要多少钱?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  如何快速使用云服务器搭建个人网站?  建站之星ASP如何实现CMS高效搭建与安全管理?  如何快速搭建高效服务器建站系统?  青岛网站建设如何选择本地服务器?  建站之星多图banner生成与模板自定义指南  制作网页的网站有哪些,电脑上怎么做网页?  如何高效搭建专业期货交易平台网站?  如何快速生成凡客建站的专业级图册?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  如何在香港免费服务器上快速搭建网站?  简单实现Android验证码  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  Swift中循环语句中的转移语句 break 和 continue  建站之星安装步骤有哪些常见问题?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  制作证书网站有哪些,全国城建培训中心证书查询官网?  C#如何在一个XML文件中查找并替换文本内容  如何通过虚拟主机空间快速建站?  高端建站三要素:定制模板、企业官网与响应式设计优化  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  建站主机功能解析:服务器选择与快速搭建指南  ,网页ppt怎么弄成自己的ppt?  北京网站制作的公司有哪些,北京白云观官方网站?  专业网站建设制作报价,网页设计制作要考什么证?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  营销式网站制作方案,销售哪个网站招聘效果最好?  南宁网站建设制作定制,南宁网站建设可以定制吗?  详解jQuery停止动画——stop()方法的使用  制作营销网站公司,淘特是干什么用的?  如何通过FTP服务器快速搭建网站?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  建站之星导航配置指南:自助建站与SEO优化全解析  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  建站主机选哪家性价比最高?  建站之星备案是否影响网站上线时间?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  大同网页,大同瑞慈医院官网?  如何配置WinSCP新建站点的密钥验证步骤? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。