如何在DATE列中添加超过下个月的日期?

时间:2015-11-19 19:09:40

标签: php mysql

我想为每个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)

3 个答案:

答案 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)。两者在语义上都是相同的。