2012-02-27 46 views
0

Godaddy的主機, 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 

任何提示或方向將不勝感激。

+0

的[MySQL的日期函數文檔(http://dev.mysql.com/doc/refman/5.5/en/date-and -time-functions.html)將是開始的地方。 – 2012-02-27 05:29:41

+0

這就是爲什麼我總是先做我的選擇,然後擦除選擇並用更新替換,並始終添加限制。 – 2012-02-27 05:31:21

回答

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

這很好。我只需要將post_id更改爲id。這是最後的代碼工作。 'UPDATE wp_posts SET post_date = DATE_ADD(post_date,INTERVAL id SECOND)'非常感謝。 – Lawrence1972 2012-02-29 02:52:44

0

嘗試此查詢

Declare @auto Int 
Set @auto = 0 
Update tblName set post_date=DATEADD(minute,(@auto * @increment), 
convert(datetime, @post_date)), 
@auto = (@auto + 1) 
Where [email protected]_id