花魁直播高品质美女在线视频互动社区 - 花魁直播官方版

 歡迎來到素材無憂網(wǎng),按 + 收藏我們
登錄 注冊 退出 找回密碼

帝國CMS新聞文章數(shù)據(jù)表自增列中間插入一行數(shù)據(jù),自增ID繼續(xù)連續(xù)的方法!

時(shí)間: 2024-02-25 09:23 閱讀: 作者:素材無憂網(wǎng)

寫本文章的起因是有個(gè)小伙伴用帝國CMS做了一個(gè)小說站點(diǎn),他發(fā)布小說的時(shí)候按照每個(gè)章節(jié)一個(gè)信息的業(yè)務(wù)邏輯,等發(fā)布完了以后才發(fā)現(xiàn)有個(gè)章節(jié)遺漏了,如果他繼續(xù)補(bǔ)上這個(gè)章節(jié),由于前臺輸出排序是按照自增ID來排序的,那么這個(gè)補(bǔ)上的章節(jié)無疑就會出現(xiàn)再小說最后,肯定是不符合邏輯了!

那么需要解決的問題就是:如何在自增數(shù)據(jù)表內(nèi)插入一行數(shù)據(jù),而且要讓ID繼續(xù)連續(xù)!那么有小伙伴會問:直接去數(shù)據(jù)庫改ID不就完事了么?先不說自增ID讓不讓直接改,就算讓改,小說如果有幾千章節(jié)那不是累死了!

所以解決方案我記錄一下:以下案例使用帝國CMS新聞NEWS表做范例。(注意備份你的數(shù)據(jù)庫,切記?。?/p>

首先我們要解決自增列不能改動(dòng)ID的問題,使用如下數(shù)據(jù)庫命令:(為什么是3條?答:帝國CMS如果要改動(dòng)一條內(nèi)容數(shù)據(jù)就要涉及到3個(gè)表。語句每行是一個(gè),請一條條執(zhí)行!)

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;

繼續(xù),我們查看需要插入的數(shù)據(jù)之后的ID號:比如說ID:88 后面要插入數(shù)據(jù),那么我們就要把ID為88后面所有的ID號都+1,我們才能插入一個(gè)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;

繼續(xù):現(xiàn)在我們發(fā)布一個(gè)信息,就是需要補(bǔ)的那個(gè)信息,當(dāng)然也可以是已經(jīng)發(fā)布過的。我們找到這個(gè)文章的ID并記住這個(gè)ID,比如說ID為666。

那么我們要把這個(gè)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

這樣我們就搞定了插入了!下面再把主鍵和自增改回去!

恢復(fù)主鍵:

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);

恢復(fù)自增:

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了全部搞定了!記得最后在后臺-系統(tǒng)-數(shù)據(jù)更新-更新信息頁地址-選擇你的數(shù)據(jù)表,按照ID更新(重要),然后再去生成首頁 欄目和所有內(nèi)容(全部更新打鉤),要不然內(nèi)容URL地址是不會變的哦!

版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!

轉(zhuǎn)載請注明: 帝國CMS新聞文章數(shù)據(jù)表自增列中間插入一行數(shù)據(jù),自增ID繼續(xù)連續(xù)的方法!

相關(guān)文章
模板推薦