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

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

857 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一级栏目和二级栏目使用同一个模板,二级栏目是终极栏目,调用本栏目数...

8 865
帝国cms后台信息列表标题显示不完怎么办?
帝国cms后台信息列表标题显示不完怎么办?

帝国CMS后台信息列表标题文字字数默认是被控制过的,超出一行会截断,一些相对...

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

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

1 377
帝国CMS有必要开发百度小程序吗?
帝国CMS有必要开发百度小程序吗?

百度小程序的开放生态对网站站长及企业商家而言,能够从中获取到什么呢?百度智...

1 342
帝国cms后台DoTimeRepage.php一直刷新写满日志了怎么办?
帝国cms后台DoTimeRepage.php一直刷新写满日志了怎么办?

如果平时喜欢挂着帝国cms网站后台不关闭,又留心了网站日志的朋友就会发现DoT...

1 490
帝国cms公共模板变量temp.header/temp.footer怎样在php代码中直接调用?
帝国cms公共模板变量temp.header/temp.footer怎样在php代码中直接调用?

在帝国cms二次开发过程中,我们经常需要调用模板的公共部位,也就是帝国cms的公...

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

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

1 300
帝国cms判断图片是否带域名,无域名则补全域名
帝国cms判断图片是否带域名,无域名则补全域名

那么,我们要怎样在图片路径不完善的时候正常在手机端显示图片呢?...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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