我在mysql表中添加了一个名为dateAdded的列,它应该包含每个行的时间值。我想在列中的每一行中添加一个时间值,但是我希望它在一天内被计算下来。我用:
UPDATE products set dateAdded=DATE_ADD('2015-06-15 11:31:31', INTERVAL 1 DAY)
但是它只计算了一天,并显示了列中所有值的完全相同的日期。
如何将日期添加到列中,并使每一行的日期增加一天?
发布于 2015-06-15 18:03:23
试一试
UPDATE products
JOIN (select @date := '2015-06-15 11:31:31') d
SET dateAdded = (@date := @date - INTERVAL 1 DAY)发布于 2015-06-15 18:22:56
这应该作为一个单一的声明来工作:
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>;https://stackoverflow.com/questions/30851920
复制相似问题