• 河南网站建设-郑州网站设计-郑州网站建设-手机建站-郑州建站-上海建站

  • 专注网站建设 服务热线: 13061801310

当前位置:东东网 > 近期动态 > 建站常见问题 > 正文

织梦列表页数据重复解决方法

发布时间:2021-04-30 | 发布者: 东东工作室 | 浏览次数:

dede:list 列表调用出来的新闻,每一个都重复了两次,怎么解决?

清空所有稳定数据重新添加的解决方法

注意:以下操作,所有文档会被清空,栏目不会清空

后台-系统-SQL命令行工具-执行

TRUNCATE dede_addonarticle;
TRUNCATE dede_arccache;
TRUNCATE dede_arctiny;
TRUNCATE dede_archives;

如果你的文档只有文章模型的话执行上面几行SQL就行了,如果还有其他模型,需要加上

TRUNCATE dede_其他模型附加表

例如下图

那就要加上这几句

TRUNCATE dede_news
TRUNCATE dede_tuwen
TRUNCATE dede_guanyu
TRUNCATE dede_addonimages

执行完后,更新栏目缓存,更新系统缓存,重新添加个文章,生成列表,看效果。

只删除重复数据的解决方法

注意:以下操作之前必须先备份数据!

注意:以下操作之前必须先备份数据!

注意:以下操作之前必须先备份数据!

1、后台-系统-SQL,每次执行一条语句,看哪条语句执行后有重复记录出现

SELECT aid,COUNT(*) FROM `dede_addonarticle` GROUP BY aid HAVING COUNT(*) > 1;
SELECT id,COUNT(*) FROM `dede_archives` GROUP BY id HAVING COUNT(*) > 1;
SELECT id,COUNT(*) FROM `dede_arctiny` GROUP BY id HAVING COUNT(*) > 1;

记住,是一次执行一条,上面是3条语句

如果重复数据是图片集模型或者其他模型,把上面第一条语句的 addonarticle 改成你模型对应的附加表

2、后台-系统-SQL,执行一下删除重复数据的语句

DELETE FROM `dede_addonarticle` WHERE aid IN ( SELECT aid FROM ( SELECT aid,COUNT(*) FROM `dede_addonarticle` GROUP BY aid HAVING COUNT(*) > 1 ) AS a) LIMIT 1000;
DELETE FROM `dede_archives` WHERE id IN ( SELECT id FROM ( SELECT id,COUNT(*) FROM `dede_archives` GROUP BY id HAVING COUNT(*) > 1 ) AS a) LIMIT 1000;
DELETE FROM `dede_arctiny` WHERE id IN ( SELECT id FROM ( SELECT id,COUNT(*) FROM `dede_arctiny` GROUP BY id HAVING COUNT(*) > 1 ) AS a) LIMIT 1000;

如果重复数据是图片集模型或者其他模型,把上面第一条语句的 addonarticle (有2处) 改成你模型对应的附加表

limit表示你要删除的条数,由于删除语句的执行速度比较慢,如果数据较多建议设定一个条数,比如先删除1000或者10000条。否则数据过大的话,mysql执行太慢会崩溃,心急去关闭再执行的话,会发生锁表而无法操作数据库。

3、后台-核心-网站栏目管理,更新栏目缓存,重新生成栏目列表,清浏览器缓存。

转载请标注:东东工作室——织梦列表页数据重复解决方法