【问题标题】:How to resequence all dates in one column如何对一列中的所有日期重新排序
【发布时间】:2012-02-27 05:25:26
【问题描述】:

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

任何提示或方向将不胜感激。

【问题讨论】:

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


【解决方案1】:

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

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

上述查询将根据 post_id 值添加秒数,这意味着最新帖子的日期将比之前的帖子晚。如果您想要相反,请使用 DATE_SUB

【讨论】:

  • 效果很好。我只需要将 post_id 更改为 id。这是有效的最终代码。 UPDATE wp_posts SET post_date = DATE_ADD(post_date,INTERVAL id SECOND)非常感谢。
【解决方案2】:

试试这个查询

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-07
    • 2015-11-26
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多