我有一个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天并相应地更新行。
我可以在一个语句中执行此操作,还是需要执行查询以选择数据,然后执行第二个查询来执行更新?
答案 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);