如何重新排序一列中的所有日期

时间:2012-02-27 05:25:26

标签: mysql sql datetime phpmyadmin mysql-error-1064

Godaddy Hosting, PHP 5, MySQL 5.0, Wordpress 3.3.1

我将所有帖子设置为相同的发布日期,并删除了下一篇帖子/之前的帖子链接。有成千上万。

有没有办法在phpMyAdmin中更改post_date,以便post_date

2012-20-02 15:24:40
2012-20-02 15:24:41
2012-20-02 15:24:42
2012-20-02 15:24:43
2012-20-02 15:24:44

等...? ...或类似的东西,只要它们不同。

我在MySQL / phpMyAdmin

中尝试过这个
DECLARE @Date DATETIME
SET @Date = '2012-02-18 01:47:50'
UPDATE wp_posts SET post_date = ( @Date := @Date +1 )

但它出错了。

#1064 - You have an error in your SQL syntax; check the manual that corresponds to     your MySQL server version for the right syntax to use near 'DECLARE @Date DATETIME
SET @Date = '2012-02-18 01:47:50'
UPDATE wp_posts SET p' at line 1

非常感谢任何提示或方向。

2 个答案:

答案 0 :(得分:0)

我假设wp_posts表有一个post_id字段,它是每个帖子的unqiue标识符(如果列不同,你可能需要更改列)

UPDATE wp_posts SET post_date = DATE_ADD(post_date,INTERVAL post_id SECOND)

上述查询将根据post_id值添加一些秒数,这意味着最新帖子的日期晚于之前的帖子。如果你想要反向,那么使用DATE_SUB

答案 1 :(得分:0)

尝试此查询

Declare @auto Int 
Set @auto = 0 
Update tblName set post_date=DATEADD(minute,(@auto * @increment),
convert(datetime, @post_date)),
@auto = (@auto + 1) 
Where posted_id=@posted_id