织梦列表页数据重复解决方法
发布时间: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、后台-核心-网站栏目管理,更新栏目缓存,重新生成栏目列表,清浏览器缓存。
转载请标注:东东工作室——织梦列表页数据重复解决方法
上一篇:织梦前台模板里显示当前登录会员名
推荐文章