2015-11-19 54 views
1

我想为每个DATE值添加7天。当我添加7天到日期“2015-11-19”它的工作,我的新值是“2015-11-26”,但是当我将它添加到“2015-11-26”日期值变成“0000 -00-00" 这是我的查询:如何在DATE列中添加日期超过下个月的日期?

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) 

回答

2

使用DATE_ADD(Date,INTERVAL 45 DAY)

这样

UPDATE events SET events.event_date =DATE_ADD(events.event_date,INTERVAL 7 DAY) 
+0

谢谢你的工作。 –

2

您需要使用DATE_ADD功能从MySQL。

的链接将DATE_ADD()

因此该查询

UPDATE events SET events.event_date = DATE_ADD(events.event_date , interval 7 day)

1

这第二个参数使得DATE没有意义的。该功能只需要一个参数。也许你想要的是DATE_ADD,而这需要两个参数。

您既可以做DATE(events.event_date + INTERVAL 7 DAY)也可以做DATE_ADD(events.event_date, INTERVAL 7 DAY)。两者在语义上相同。