我在我的mysql表中添加了一个名为dateAdded
的列,它应该为每一行保留一个时间值。我想在列中的每一行添加一个时间值,但我想让它倒数一天。我用过:
UPDATE products set dateAdded=DATE_ADD('2015-06-15 11:31:31', INTERVAL 1 DAY)
但它只计算一天,并显示列中所有值的完全相同的一天。
如何将日期添加到列中并使每行增加一天?
答案 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>;