下载鸥 > 网站下载 > 开发教程 > 帝国CMS

帝国cms同一张数据表无法同时进行select和update数据操作的优化

515 2021-04-26 04:02:14

收藏
在少部分应用场景中,我们需要选中表中的指定元素进行更新操作。如果元素固定,那么执行肯定没问题。但如果元素也需要选取,则执行会报错。因为同一张表上,你不能先select了再执行update操作。

但如果必须这样操作,是否可行呢?
 

案例还原

更改帝国CMS栏目ID=583的下级栏目模板ID,执行update命令,用下面SQL语句,没毛病:
UPDATE `phome_enewsclass` SET `listtempid` = 2 WHERE bclassid = 583;

我要更改帝国CMS栏目ID=583的下下级栏目模板ID,执行update+select,用下面的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

这样,我们就实现了同一张数据表,既做select操作,又做update操作。感谢网友提供的思路与参考。

世上无难事,只要肯攀登。

如果你心心念念一个问题许久,一直坚持去寻找答案,那么你一定会找出解决方案。这是鸥哥用很长时间的坚持后数次证明出来的道理。

本文地址:https://xzo.com.cn/develop/empire/851.html

有帮助,很赞!

信息来源:网络
导出教程 下载word版教程
发表评论 共有条评论
  • 隐藏的大佬 2021-05-10 16:33:28评论 #沙发#

    有人测试过吗,是否可以实现?

关于帝国CMS


帝国cms是一款功能极为强大的cms程序,性能强悍、安全性高,可轻松支持10万数据,高级开发人员可制作出能容纳千万数据量的网站,是国内最出色的开源cms程序之一,推荐企业用户使用

当前最新版本为7.5,8.0版本即将上线,新版本的核心优化点在于多终端的适配。

推荐帝国CMS开发教程
帝国cms百度推送插件怎样将http改成https
帝国cms百度推送插件怎样将http改成https

帝国cms百度推送插件流传十分广,但有些https站点却推送了http的链接,这无疑十...

9 742
帝国CMS怎样在栏目文章列表中间插入一条新数据到指定位置?
帝国CMS怎样在栏目文章列表中间插入一条新数据到指定位置?

有客户的小说站在发布完一篇小说后,发现遗漏了一章。此时如果新增一章必然是...

14 1029
帝国cms怎样将一二三级置顶改为首页栏目置顶等其他名字?
帝国cms怎样将一二三级置顶改为首页栏目置顶等其他名字?

帝国cms推荐、头条级别要改名都可以在栏目设置(栏目-头条/推荐级别)里进行修...

1 539
帝国CMS文章配图怎样设置自动添加水印?
帝国CMS文章配图怎样设置自动添加水印?

现在采集网站非常多,不止采集内容,还采集图片,还不标注出处,非常可恶。那么,帝国...

1 619
帝国cms怎样判断当前页面为首页?
帝国cms怎样判断当前页面为首页?

在帝国cms开发时,我们经常要给栏目配置高亮效果。栏目高亮判断循环的id等于...

0 719
填坑笔记:记录一次帝国cms栏目生成刷新无效的bug
填坑笔记:记录一次帝国cms栏目生成刷新无效的bug

帝国cms刷新栏目页后会自动生成全部栏目列表,但几天在处理客户站点时发现出...

1 476
栏目目录搭建的帝国cms网站怎样写伪静态规则?
栏目目录搭建的帝国cms网站怎样写伪静态规则?

如果用栏目搭建帝国cms站点,伪静态规则该怎么写呢?如果直接作用于根目录,可能...

1 595
帝国cms编辑器ckeditor怎样获取最新内容?
帝国cms编辑器ckeditor怎样获取最新内容?

帝国cms编辑器使用的是ckeditor,想要获取最新内容需要点击两下,否则取到的不...

0 410
推荐插件
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...

0 1343
帝国cms百度AI黑白图像上色api接口对接插件
帝国cms百度AI黑白图像上色api接口对接插件

百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...

0 478
帝国cms纳米数据接口(足球比赛中最新数据)
帝国cms纳米数据接口(足球比赛中最新数据)

帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...

0 481
帝国cms访问统计ip地址链接与封禁插件下载
帝国cms访问统计ip地址链接与封禁插件下载

下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...

0 1109
帝国cms批量添加后台用户插件
帝国cms批量添加后台用户插件

使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...

0 834
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...

0 798
帝国cms自动生成文章新闻目录插件下载
帝国cms自动生成文章新闻目录插件下载

用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...

0 1186
帝国cms百度AI图像无损放大api接口对接插件
帝国cms百度AI图像无损放大api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像无损放大的功能。经过...

0 493
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入