当前位置:首页 > 文章 > 帝国CMS > 正文内容

帝国CMS新闻文章数据表自增列中间插入一行数据自增ID继续连续的方法

3年前 (2022-10-21)帝国CMS7651

如何在自增数据表内插入一行数据,而且要让ID继续连续!那么有小伙伴会问:直接去数据库改ID不就完事了么?先不说自增ID让不让直接改,就算让改,小说如果有几千章节那不是累死了!

所以解决方案我记录一下:以下案例使用帝国CMS新闻NEWS表做范例。(注意备份你的数据库,切记!)

首先我们要解决自增列不能改动ID的问题,使用如下数据库命令:(为什么是3条?答:帝国CMS如果要改动一条内容数据就要涉及到3个表。语句每行是一个,请一条条执行!)

  ALTER TABLE `phome_ecms_news` CHANGE id id INT(10) UNSIGNED NOT NULL ; ALTER TABLE `phome_ecms_news_index` CHANGE id id INT(10) UNSIGNED NOT NULL ; ALTER TABLE `phome_ecms_news_data_1` CHANGE id id INT(10) UNSIGNED NOT NULL ;

然后我们要取消ID主键问题:

  alter table phome_ecms_news modify id int(10),drop primary key; alter table phome_ecms_news_index modify id int(10),drop primary key; alter table phome_ecms_news_data_1 modify id int(10),drop primary key;

继续,我们查看需要插入的数据之后的ID号:比如说ID:88 后面要插入数据,那么我们就要把ID为88后面所有的ID号都+1,我们才能插入一个ID:89。 (也就让原来的89变成了90, 90变成了91……)

需要用的语句为:

  update phome_ecms_news set id=id+1 where id>88; update phome_ecms_news_index set id=id+1 where id>88; update phome_ecms_news_data_1 set id=id+1 where id>88;

继续:现在我们发布一个信息,就是需要补的那个信息,当然也可以是已经发布过的。我们找到这个文章的ID并记住这个ID,比如说ID为666。

那么我们要把这个ID变成89了!语句:

  update phome_ecms_news set id=89 where id=666; update phome_ecms_read_zj_index set id=89 where id=666 update phome_ecms_read_zj_data_1 set id=89 where id=666

这样我们就搞定了插入了!下面再把主键和自增改回去!

恢复主键:

  alter table phome_ecms_news add primary key(id); alter table phome_ecms_news_index add primary key(id); alter table phome_ecms_news_data_1 add primary key(id);

恢复自增:

  ALTER TABLE `phome_ecms_news` CHANGE id id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT; ALTER TABLE `phome_ecms_news_index` CHANGE id id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT; ALTER TABLE `phome_ecms_news_data_1` CHANGE id id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;

OK了全部搞定了!记得最后在后台-系统-数据更新-更新信息页地址-选择你的数据表,按照ID更新(重要),然后再去生成首页 栏目和所有内容(全部更新打钩),要不然内容URL地址是不会变的哦!

扫描二维码推送至手机访问。

版权声明:本文由蓝博发布,如需转载请注明出处。

本文链接:https://blueboss.cn/p/569.shtml

“帝国CMS新闻文章数据表自增列中间插入一行数据自增ID继续连续的方法” 的相关文章

帝国cms列表页的内容简介samlltext字段怎么格式化html代码

帝国cms列表页的内容简介samlltext字段怎么格式化html代码

帝国CMS列表页内容简介smalltextsamlltext字段怎么格式化html代码呢?如下: $smalltext='esub(strip_tags($r[smalltext]),120)'; $listtemp='<li><a href="[!--titleurl--]" ...

帝国CMS自动审核发布信息文章的方法

帝国CMS自动审核发布信息文章的方法

当一个文章站大量采集内容,一次性全部发布完这一是不利于SEO的,也是容易作弊,所以从网上找了这个脚本稍作修改。分享给大家,其实也很简单,但比帝国自带的计划任务功能好的是,不用开启后台才运行,脚本放到服务器上后加入服务器的计划任务便可以每天定时审核发布信息。下面帝国cms模板网来告诉大家帝国CMS自动...

帝国CMS默认的信息提示页修改样式

帝国CMS默认的信息提示页修改样式

帝国CMS默认的信息提示界面有点丑,想要修改怎么办?很简单,下面帝国cms模板网就来为大家分享: 修改文件: e/message/index.php 提示文字要改语言包 e/data/language/gb/pub/q_message.php OK!搞定!大家赶紧去试试吧!...

帝国cms电影模型内容页调用播放器类型

帝国cms电影模型内容页调用播放器类型

一、以图片形式显示 1、在/skin/xin/v/中增加几个播放器的图片 ①图片格式自己定,如:增加了ico的格式,在:系统-系统设置-系统参数设置-文件设置-后台上传文件扩展名-添加ico的图片格式 ②图片的命名:以播放器的ID命名(ID参考:后台-其他-下载模型相关-播放器管理-看播放器对应的I...

帝国CMS中#091;!--no.num--]标签的用法分析

帝国CMS中#091;!--no.num--]标签的用法分析

帝国CMS [!--no.num--] 标签用法: 帝国CMS[!--no.num--] 指定从某一数字开始显示 代码如下: <?=$bqno+5?> 帝国CMS[!--no.num--] 输出效果为 1 2 3 4 5 6 7 8...样式 代码如下: <?=$bqno?&g...

帝国CMS模板中内容关键字加粗显示加背景颜色等

帝国CMS模板中内容关键字加粗显示加背景颜色等

帝国cms模板内容里面,要关键词加粗,加背景颜色,调整下css即可。 关键字的class在 e/class/functions.php,搜索 function ReplaceKey 或 class=infotextkey 找到后在自己css文件中定义这个(class=infotextkey)css...