mysql,需要用随机日期更新列

时间:2012-12-24 21:08:36

标签: mysql sql

我的表中有一个名为updated_date的'timestamp'类型列。向表中添加列时,所有行都更新为相同的updated_date。这不是灾难,因为我们仍然在测试,但它破坏了我们网站的功能(按照updated_date的顺序显示事物)。

有没有办法可以将列中的所有updated_date值(但id低于x)更改为某个随机日期(或增量日期)?

提前致谢!

3 个答案:

答案 0 :(得分:2)

这可能会解决您的问题:

UPDATE updated_table SET timestamp = FROM_UNIXTIME(1e9 + id) WHERE id < x;

基本上它将日期设置为对应于10亿+ id的Unix时间戳(1,000,000,000 unix时间戳是2001-09-08 21:46:40)。这样你就可以按照id的顺序获得唯一的时间戳。

答案 1 :(得分:2)

嗯,你可以这样做

UPDATE table SET updated_time = NOW() WHERE id < x

给定id属于表

如果你想要一些过去的随机数据

UPDATE test2 SET update_time = NOW() - interval rand()*120 day - interval rand()*36000 second WHERE id < x

根据您的需要调整

答案 2 :(得分:0)

时间戳只是自纪元以来的秒数(1970-01-01 00:00:01)。如果您从基本时间戳开始,您可以添加自该数字后的随机秒数,并且您有随机日期。