我有一张表格,其中我有一个时间戳的默认值,例如2013-06-15 12:00:00该值至少有150条记录。现在我想将这些时间戳中的每一个递增1秒,考虑到59秒后,下一个值是下一分钟。这可能吗?你能帮我吗?谢谢!
答案 0 :(得分:4)
这是另一个简单的方法:(@ kordirko,谢谢你的sqlfiddle)
SET @serial:=1;
UPDATE table1 SET t = t + INTERVAL (@serial:=@serial+1) SECOND;
你可以在这里测试。 http://www.sqlfiddle.com/#!2/f5cbe/1
答案 1 :(得分:1)
假设该表具有唯一的id
列,此查询可以执行此任务:
UPDATE Table1 t1, (
SELECT t1.id, count(*) cnt
FROM table1 t1 JOIN table1 t2 ON t1.id >= t2.id
GROUP BY t1.id
) t2
SET t1.t = t1.t + interval t2.cnt second
WHERE t1.id = t2.id;
演示 - > http://www.sqlfiddle.com/#!2/e6ef9b/1