Ecmsphp开发中心

1252

帖子

19

跟帖

8

粉丝

用户组:普通会员

头    衔:白银会员

版主

积分
356930
登陆
2134 次
私信
注册时间
2014-06-21 14:06:06
最后登陆时间
2023-09-24 16:04:46

帝国CMS Mysql同一个表不能同时进行update和select操作怎么办(付解决办法)

 [只看主题]
楼主
0 |
发表: 3 年前
| |
| |
跳转

  帝国CMS Mysql同一个表不能同时进行update和select操作怎么办(付解决办法)

  帝国CMS解决Mysql同一个表不能同时进行update和select操作的问题,下面一起来看看:

  我要更改帝国CMS栏目ID=583的下级栏目模板ID,用下面SQL语句,没毛病:

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

  我要更改帝国CMS栏目ID=583的下下级栏目模板ID,用下面SQL语句:

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操作。

  改用下面SQL语句,可以修改指定栏目下的第三级栏目的模板ID:

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


ecmsphp开发中心
ecmsphp开发中心
验证码 换一个

当前在线人数: 0
取消

感谢您的支持,我们会继续努力!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

×

打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

帝国CMS Mysql同一个表不能同时进行update和select操作怎么办(付解决办法)