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

帝国CMS后台添加信息报错Duplicate entry 'xx' for key 'PRIMARY'

871 2021-02-20 10:06:24

收藏

帝国CMS后台添加信息报错Duplicate entry 'xx' for key 'PRIMARY',出现以下代码

Duplicate entry '3261' for key'PRIMARY' insert into ***_ecms_news_index(classid,checked,newstime,truetime,lastdotime,havehtml) values ('1','1','1446087639','1446087687','1446087687','1');


这种帝国CMS报错是因为ecms_news_index索引数字不对,索引ID“3261”的信息已经存在,后添加的信息索引ID必须大于“3261”才行。

照成这种错误一般是后台丢失数据,导致索引无法正常递增混乱。
 

方法1:后台修复数据库

如果进的了后台尝试后台修复数据库,点击 后台 系统 备份与恢复数据 备份数据

拉到最下面 点击修复数据表和优化数据表即可

 

方法2:插入一个大于当前索引的信息

如果后台修复没有用,那我们就来手动或SQL插入一个大于“3261”等等信息,让索引ID重新递增。

手动操作直接参考数据库的信息,ID填一个大于“3261”的即可。

SQL插入看下面代码

INSERT INTO `phome_ecms_news` VALUES(3262,1,1,'','','',1,'admin','',1,0,1333244472,0,1,0,0,',b|','','1',0,0,0,0,0,0,'企业11111',1333244427,'',0,1,1350716513,0,0,0,0,'','企业理念:诚信、专业、高效星兴财务rn',0,'1','',0,'',0);


第一个字段“3262”就是索引ID,后面的参考自己的字段调整。
 

方法3:批量重新生成索引

如果以上都不行,只能用SQL想办法让索引ID重新生成一遍,建议分条执行,一是避免超时,二是能发现错误(操作前请务必备份)。

CREATE TABLE [!db.pre!]ecms_newstemp AS (SELECT id,classid,newstime,truetime,lastdotime,havehtml FROM [!db.pre!]ecms_news);
ALTER TABLE `[!db.pre!]ecms_newstemp` ADD COLUMN `checked` tinyint(1) not null DEFAULT 0 AFTER `classid`;
ALTER TABLE `[!db.pre!]ecms_newstemp` add primary key(id);
alter table [!db.pre!]ecms_news_index rename to[!db.pre!]ecms_news_indexbak;
alter table [!db.pre!]ecms_newstemp rename to[!db.pre!]ecms_news_index;
ALTER TABLE `[!db.pre!]ecms_news_index` CHANGE `id` `id` INT(10) NOT NULL AUTO_INCREMENT;
alter table [!db.pre!]ecms_news_index add index(classid);
alter table [!db.pre!]ecms_news_index add index(checked);
alter table [!db.pre!]ecms_news_index add index(newstime);
alter table [!db.pre!]ecms_news_index add index(truetime);
update [!db.pre!]ecms_news_index set checked=1;

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

有帮助,很赞!

信息来源:精准像素
导出教程 下载word版教程
发表评论 共有条评论
关于帝国CMS


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

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

推荐帝国CMS开发教程
帝国cms从伪静态改为静态站但信息刷新死活出不来的问题
帝国cms从伪静态改为静态站但信息刷新死活出不来的问题

今天记录的问题简直匪夷所思,是帝国cms伪静态站点改成静态站点,点击清除缓存...

1 324
帝国cms怎样展示会员总数与最新注册的会员名称?
帝国cms怎样展示会员总数与最新注册的会员名称?

如果网站会员数量较多,展示会员总数与最新注册会员名可以有效提升用户留存。...

3 322
帝国cms怎样记录会员浏览信息历史记录?
帝国cms怎样记录会员浏览信息历史记录?

帝国cms论坛早已有了以cookie形式保存浏览量历史记录在客户端的插件,但这样...

7 382
帝国cms一级栏目一直显示本栏目暂无新增信息怎么办?
帝国cms一级栏目一直显示本栏目暂无新增信息怎么办?

今天有客户联系鸥哥,说网站一级栏目下有4个子栏目,每个子栏目都是有信息的,但...

1 260
帝国cms怎样批量删除上万篇文章/指定会员/时间段发布的信息?
帝国cms怎样批量删除上万篇文章/指定会员/时间段发布的信息?

在网站运营过程中,我们可能因为这样那样的原因需要批量删除大批文章信息,几十...

1 1002
帝国cms会员中心怎样调用我提交的反馈历史记录?
帝国cms会员中心怎样调用我提交的反馈历史记录?

帝国cms信息反馈表非常好用,通过合理开发信息反馈功能,我么可以实现用户留言...

1 240
帝国cms怎样防止垃圾留言?
帝国cms怎样防止垃圾留言?

帝国cms留言板使用比较广泛,但如果不做合理配置,则会出现被垃圾留言刷屏的情...

1 523
帝国cms网站宝塔面板忘记登陆地址了怎么办?
帝国cms网站宝塔面板忘记登陆地址了怎么办?

宝塔面板是一款非常好用的服务器管理软件,但在安装完宝塔后,有些人可能会忘记...

0 318
随机帝国CMS开发教程
分享一段帝国CMS高效随机调用代码函数
分享一段帝国CMS高效随机调用代码函数

帝国CMS随机调用用’rand()’参数就可以了。但在实际应用中,我们会发现rand(...

3 775
帝国CMS自带的egetip()获取用户IP函数介绍
帝国CMS自带的egetip()获取用户IP函数介绍

在使用帝国CMS获取用户IP地址时,不需要自己再编写获取IP代码了,帝国CMS自带获...

8 583
帝国CMS按照26个字母顺序循环调用信息
帝国CMS按照26个字母顺序循环调用信息

帝国CMS按照26个字母顺序循环调用信息,也就是a/b/c/e/f/g...的顺序依次调用...

3 739
帝国cms修改列表式分页样式教程
帝国cms修改列表式分页样式教程

在修改之前,我们需要知道帝国cms列表式分页模板在哪里,我们先要去修改下类别...

3 827
帝国cms列表分页函数在哪里
帝国cms列表分页函数在哪里

帝国cms列表分页函数有一个前台和后台的,前台的列表分页函数在/e/class/t_fu...

0 794
帝国cms默认编辑器UEdito读取远程图片失效
帝国cms默认编辑器UEdito读取远程图片失效

帝国cms默认编辑器UEdito读取远程图片失效,失败的原因有2个,1是文件类型,也就...

9 765
帝国cms怎样才能支持emoji表情?
帝国cms怎样才能支持emoji表情?

在前面的文章中,我们介绍了怎样让MySQL支持emoji表情。但这只是第一步,因为帝...

8 755
帝国CMS默认广告JS被屏蔽过滤解决方法
帝国CMS默认广告JS被屏蔽过滤解决方法

现在帝国CMS默认广告JS会被浏览器广告插件屏蔽过滤,比如ABP广告过滤插件。...

3 334
客服QQ:341553759
点击咨询 常见问题 >
官方交流群:90432500
点击加入