找回密码
 注册
搜索
查看: 1146|回复: 0

discuz门户文章时间批量修改的方法

[复制链接]
发表于 2012-12-4 02:38:36 | 显示全部楼层 |阅读模式
遇到一次需要修改所有文章时间,虽然上面有修改时间的功能,但是一个一个修改的工作量太大了。
经过查询发现
关联文章的数据表有两个

jk_portal_article_title
jk_portal_article_content

这里的jk修改为自己网站的数据表标识,应该都不相同的
官网的为
pre_portal_article_title
pre_portal_article_content


这两个里面都有一个dateline的栏目,是以时间戳的方式储存的。既然找到位置就好办了。
看到一个时间为 1349074388 ,到网上找到转换工具,发现转换后的时间为 2012-11-1

我要修改的时间就是 2012-11-1 之后文章的时间,先查询一次,看看结果是够正确,使用系统后台自带的就可以,使用phpmyadmin也行,只要能运行sql语句的地方都是可以的!
  1. FROM  `jk_portal_article_content` WHERE  `dateline` >1349074388
复制代码
如果看到的结果是自己想要的结果就可以进行下一步操作了,(注:一下操作需谨慎,操作前最好备份一次数据库!!!

我是想要所有在  2012-11-1 之后发文章时间倒退一年,变成 2011-11-1那天发的帖子
通过时间戳进行换算,得到的差值大约是31622400(直接使用当前的时间戳 - 希望修改为那一天的时间戳 = 差值)
  然后运行一下两行sql语句
  1. UPDATE `jk_portal_article_content` SET `dateline`=`dateline`-31622400 WHERE `dateline` > 1349074388
  2. UPDATE `jk_portal_article_title` SET `dateline`=`dateline`-31622400 WHERE `dateline` > 1349074388
复制代码
然后更新一次缓存就会发现文章的时间都被倒退了一年左右!! 这就是修改的方法!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|QQ客服|联系我们|Archiver|手机版|小黑屋|悉远网络 ( 鄂ICP备09013446号 )

GMT+8, 2024-11-21 19:01 , Processed in 0.050748 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表