我想为每个DATE值添加7天。当我添加7天到“2015-11-19”它的工作时,我的新值是“2015-11-26”但是当我将它添加到“2015-11-26”时,日期值变为“0000” -00-00" 这是我的疑问:
UPDATE events SET events.event_date = DATE(events.event_date + 7)
仅在我使用下一个查询时注意:
UPDATE events SET events.event_date = DATE(events.event_date , interval 7 day)
我得到了这些错误:
Unrecognized keyword. (near "interval" at position 62)
Unexpected token. (near "7" at position 71)
Unexpected token. (near ")" at position 72)
答案 0 :(得分:2)
使用DATE_ADD(Date,INTERVAL 45 DAY)
UPDATE events SET events.event_date =DATE_ADD(events.event_date,INTERVAL 7 DAY)
答案 1 :(得分:2)
您需要使用mysql中的DATE_ADD
函数。
链接将为DATE_ADD()
所以查询变为
UPDATE events SET events.event_date = DATE_ADD(events.event_date , interval 7 day)
答案 2 :(得分:1)
第二个论点在DATE
中毫无意义。该函数只需要一个参数。也许你想要的是DATE_ADD
,而它确实需要两个参数。
您可以执行DATE(events.event_date + INTERVAL 7 DAY)
,也可以执行DATE_ADD(events.event_date, INTERVAL 7 DAY)
。两者在语义上都是相同的。