MySQL Query需要将现有日期更新为8

时间:2016-09-08 01:30:55

标签: mysql sql

我有一个mysql数据库,只有4条记录(10,000个中的10个)需要将其日期字段定期更新8天。其他记录需要保持不变。这必须能够一周又一周地运行......

数据看起来像这样(可用的数据更多)。主要ID将是常量,不会显示在下面。

启动数据如下:

'title 1','2016-09-03 00:00:00'
'title 1','2016-09-04 00:00:00'    
'title 2','2016-09-05 00:00:00'
'title 2','2016-09-06 00:00:00'
....
'title 10','2016-09-10 00:00:00'
'title 10','2016-09-11 00:00:00'    
'title 11','2016-09-12 00:00:00'
'title 11','2016-09-13 00:00:00'

结束数据如下:

'title 1','2016-09-07 00:00:00'
'title 1','2016-09-08 00:00:00'    
'title 2','2016-09-09 00:00:00'
'title 2','2016-09-10 00:00:00'
....
'title 10','2016-09-14 00:00:00'
'title 10','2016-09-15 00:00:00'    
'title 11','2016-09-16 00:00:00'
'title 11','2016-09-17 00:00:00'

现有日期是什么并不重要,查询需要简单地添加4天并相应地更新行。

我可以在一个语句中执行此操作,还是需要执行查询以选择数据,然后执行第二个查询来执行更新?

2 个答案:

答案 0 :(得分:1)

如果你可以SELECT行:

SELECT * FROM MyTable
WHERE id IN (1,2,3,4);

然后你可以UPDATE相同的行子集:

UPDATE MyTable
SET date = date + INTERVAL 4 DAY
WHERE id IN (1,2,3,4);

答案 1 :(得分:0)

像这样简单的东西可以起作用

UPDATE titles
SET date = DATE_ADD(date, INTERVAL 8 DAY)
WHERE id IN (1,2,3,4);