帝国CMS:Mysql同一个表不能同时进行update和select操作的问题

2020-01-1517:20:22网站建设与开发Comments2,053 views字数 567阅读模式

更改帝国CMS栏目ID=583的下级栏目模板ID,用下面SQL语句,没毛病:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/17702.html

UPDATE `phome_enewsclass` SET `listtempid` = 2 WHERE bclassid = 583

我要更改帝国CMS栏目ID=583的下下级栏目模板ID,用下面SQL语句:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/17702.html

UPDATE `phome_enewsclass` SET `listtempid` = 2 WHERE bclassid in (SELECT classid FROM `phome_enewsclass` WHERE bclassid = 583)

执行报错:#1093 - You can't specify target table 'phome_enewsclass' for update in FROM clause,意思是在同一张表上,你不能先select了再执行update操作。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/17702.html

改用下面SQL语句,可以修改指定栏目下的第三级栏目的模板ID:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/17702.html

UPDATE `phome_enewsclass` AS A INNER JOIN (SELECT classid FROM `phome_enewsclass` WHERE bclassid in(SELECT classid FROM `phome_enewsclass` WHERE bclassid = 583)) AS B ON A.classid = B.classid SET A.listtempid = 2
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/17702.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/cms/17702.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定