原因是删除文章的时候只删除了dede_archives 表,而dede_arctiny表没做相应的删除行,你会发现有些文章id在dede_arctiny表里依然存在,而dedecms原本为了加快速度的dede_arctiny表反而导致了错误。所以需要我们删除掉那些不存在与dede_archives表中的数据。
这个是查询dede_arctiny表中存在,而dede_archives表中不存在的数据。
SELECT * FROM `dede_arctiny` WHERE not exists( select * from `dede_archives` where dede_arctiny.id = dede_archives.id)
这个是删除语句:
DELETE FROM `dede_archives` WHERE not exists( select * from `dede_archives` where dede_arctiny.id = dede_archives.id);
可以限定栏目,例如typeid为666的栏目
DELETE FROM `dede_archives` WHERE typeid = '666' not exists( select * from `dede_archives` where dede_arctiny.id = dede_archives.id);
本文讲述了在使用DedeCMS时,由于只删除了dede_archives表的部分数据,导致dede_arctiny表中存在未删除的文章ID。文章提供了一个查询语句来找出这些多余数据,并给出了删除多余的dede_archives记录,以及按栏目类型的删除示例。


被折叠的 条评论
为什么被折叠?



