织梦cms在指定时间段内随机改变已发布的文章时间方法

文章介绍了如何使用SQL语句在织梦内容管理系统后台批量修改已发布文章的发布时间,不仅限于同一时间,而是可以指定时间段或特定条件,如指定年份、全站生效或特定栏目。涉及到的表包括dede_archives和dede_arctiny,主要修改sortrank、senddate和pubdate字段。
摘要由CSDN通过智能技术生成

很多时候我们想批量更改已发布文章的时间,网速搜罗了一下,基本都是更改为同一时间,这样导致全站网站发布时间是一样的,不太现实,那么如何批量修改已发布的文章时间是指定时间段内的呢?

先贴方法:在织梦后台执行sql语句

1

2

UPDATE dede_archives SET sortrank=FLOOR(UNIX_TIMESTAMP()-1000 - RAND() * (3186400)) ,senddate=sortrank,pubdate=sortrank where id>=0;

UPDATE dede_arctiny t SET senddate=(select senddate from dede_archives where t.id=id) where id>=0;


3186400单位为秒,即随机的时间范围,id>=0即为全站文章生效,id<=50是限定范围,即只对id小于等于50的文档生效,

dede_archives表中有3个字段需要更改,即sortrank、senddate、pubdate(图2)

除此之外dede_arctiny表里面的sortrank、senddate也需要更改,此处和一键更新里的按指定时间相关(图3)

图1:

图2:

图3:

明白了上面sql语句的意思,还可以引申出不少语句

1、如果想在指定年份随机文章呢?

1

2

UPDATE dede_archives SET sortrank=FLOOR(UNIX_TIMESTAMP('2016-12-26 00:00:00')-1000 - RAND() * (3186400)) ,senddate=sortrank,pubdate=sortrank where id<=50;

UPDATE dede_arctiny t SET senddate=(select senddate from dede_archives where t.id=id) where id<=50;

在UNIX_TIMESTAMP()里面加上你想指定的年月日即可

2、如果想全站生效呢?

1

2

UPDATE dede_archives SET sortrank=FLOOR(UNIX_TIMESTAMP('2016-12-26 00:00:00')-1000 - RAND() * (3186400)) ,senddate=sortrank,pubdate=sortrank where id>=0;

UPDATE dede_arctiny t SET senddate=(select senddate from dede_archives where t.id=id) where id>=0;

或者去掉where id >= 0.

3、如果只想让栏目3的文章生效呢?

1

2

UPDATE dede_archives SET sortrank=FLOOR(UNIX_TIMESTAMP('2016-12-26 00:00:00')-1000 - RAND() * (3186400)) ,senddate=sortrank,pubdate=sortrank where id>=0 and typeid=3;

UPDATE dede_arctiny t SET senddate=(select senddate from dede_archives where t.id=id) where id>=0;

加上and typeid=3 即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执刀人的工具库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值