每行mysql倒数1天

时间:2015-06-15 18:00:20

标签: mysql date

我在我的mysql表中添加了一个名为dateAdded的列,它应该为每一行保留一个时间值。我想在列中的每一行添加一个时间值,但我想让它倒数一天。我用过:

UPDATE products set dateAdded=DATE_ADD('2015-06-15 11:31:31', INTERVAL 1 DAY)

但它只计算一天,并显示列中所有值的完全相同的一天。

如何将日期添加到列中并使每行增加一天?

2 个答案:

答案 0 :(得分:0)

尝试

UPDATE products 
JOIN (select @date := '2015-06-15 11:31:31') d
SET dateAdded = (@date := @date - INTERVAL 1 DAY)

答案 1 :(得分:0)

这应该作为一个单一的声明:

UPDATE products p
    SET dateAdded = date_sub(cast('2015-06-15 11:31:31' as datetime),
                             interval (@rn := coalesce(@rn + 1, 1) day
                            )
    ORDER BY <appropriate column for the ordering of the data>;