帝国CMSDuplicate entry \'108\' for key \'PRIMARY\' insert into ***_ecms_news_data_1

本文详细解析了帝国CMS文章ID主键重复的原因,即由于表关联不一致导致的问题,并提供了解决方案。通过在关键表中新增最大ID记录,避免了后续数据插入时的主键重复错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


这个错误是比较扯蛋的!!

Duplicate entry '108' for key 'PRIMARY'
insert into ***_ecms_news_data_1(id,classid,writer,befrom,newstext) values('108','33','','','

 a17

');


其实就是说  这个主键 已经有值了,不能再插入相同的主键值。
原因是:
帝国CMS文章需要3个表关联实现的,而由于某种原因其中的一个表被删除了一部分,导致新增的信息ID值,与关联表的ID值不匹配,导致ID主键重复。(例如,文章表a,b,c   其中b表中有id值1-100的数据,a表中只有id值1-50的数据。这是因为删除a表数据时未同时删除b表数据造成的。于是乎,插入新的数据时,a表id为51,并将该id写入关联表b中,表b发现有主键重复,自然写不了数据了。)

解决办法:在a表中新增最大id记录(大于b表的最大id即可。),这样以后插入的数据都不会重复。
帝国CMS是(cw_ecms_news表关联_cw_ecms_news_data_1):
INSERT INTO `cw_ecms_news` VALUES ( 150, 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, '', '企业理念:诚信、专业、高效 星兴财务\r\n', 0, '1', '', 0, '', 0);

(红字部分,即是id值)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值