全球主机交流论坛

标题: 求熟悉php和sql的大神给看看--送分 [打印本页]

作者: amo    时间: 2012-8-5 17:25
标题: 求熟悉php和sql的大神给看看--送分
因为采集的文章,内容有的很短,使用sql语句删除dede_addonarticle里的body少于500的文章内容。
现在打开后台,很多被删除内容的文章在内容列表还存在 但是打不开内容了(显示读取附加信息出错。原因是dede_addonarticle里已经删除body了)。请问有什么方法清除这些没内容的文章 ?这些是标题字段存贮在dede_archive表里。。求高人方法
作者: 单手摘月    时间: 2012-8-5 17:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: amo    时间: 2012-8-5 17:31
看起来好像没有方法了,只能对比dede_addonarticle和dede_archive aid部分
作者: 秋随枫舞    时间: 2012-8-5 17:34
dede_arctiny
dede_archives
对应的都删了?
作者: amo    时间: 2012-8-5 17:35
秋随枫舞 发表于 2012-8-5 17:34
dede_arctiny
dede_archives
对应的都删了?

是啊 现在没有方法删除 dede_addonarticle里的已经删掉了
作者: 秋随枫舞    时间: 2012-8-5 17:36
amo 发表于 2012-8-5 17:35
是啊 现在没有方法删除 dede_addonarticle里的已经删掉了

那只能对比aid了 保留aid重复的记录
作者: amo    时间: 2012-8-5 17:43
不会一个个对比吧 有没有什么简单的方法赐教
作者: 过客    时间: 2012-8-5 17:44
给个笨办法,但是很有效,打开mysql的数据库记录跟踪,然后在程序里删除文章。再去看mysql的记录。。。
作者: amo    时间: 2012-8-5 17:47
程序里删除    dede_addonarticle删除了2000篇 。。
作者: smyz    时间: 2012-8-5 17:50
关联删除。。。具体看表...
作者: smyz    时间: 2012-8-5 17:58
主题表与内容表关联啊

DELETE FROM Bxx AS B LEFT JOIN Axx AS A ON B.id = A.id WHERE B.body IS NULL LIMIT 1

具体看表结构测试。。。
作者: Zeraba    时间: 2012-8-5 19:15
秋随枫舞 发表于 2012-8-5 17:36
那只能对比aid了 保留aid重复的记录

这个ID 好眼熟 莫不是深度 Ligux 那位?
作者: 母‪鸡    时间: 2012-8-5 19:16
delete from `table`  where `dede_addonarticle` = ''
不知道楼主是这个意思么?
作者: 疯狂    时间: 2012-8-5 19:24
我来打酱油的!
作者: amo    时间: 2012-8-5 22:25
DELETE from dede_addonarticle where dede_addonarticle.aid not in(select dede_archives.id from dede_archives)


DELETE from dede_archives  left join dede_addonarticle on dede_archives.id=dede_addonarticle.aid where dede_addonarticle.aid is null


都不对

作者: amo    时间: 2012-8-5 22:26
DELETE FROM dede_addonarticle  AS B LEFT JOIN dede_archives AS A ON B.aid = A.id WHERE B.aid IS NULL LIMIT 1

不对




欢迎光临 全球主机交流论坛 (https://lilynana.eu.org/) Powered by Discuz! X3.4