如何从现在开始增加一些时间?(MySQL)



从现在起,如何在mysql中添加一定的时间?

INSERT INTO rank(id, username, rank_type, time_start, time_end, activated) 
VALUES (NULL, 'somename', 1, NOW(), DATE(NOW() + INTERVAL 30 DAY), 0);

上面写着语法错误。我认为问题是由DATE函数引起的。还尝试使用NOW()+INTERVAL30 DAY,但也不起作用。

我认为DATE_ADD(date,INTERVAL expr type)就是您想要的。。

INSERT INTO rank(id, username, rank_type, time_start, time_end, activated) 
VALUES (NULL, 'somename', 1, NOW(), DATE_ADD(NOW(), INTERVAL 30 DAY),0);

一些文件可以在这里找到

这是一个SQLFiddle

问题不在于日期数学。只需将第二个参数省略为DATE(),如:

INSERT INTO rank(id, username, rank_type, time_start, time_end, activated) 
VALUES (NULL, 'somename', 1, NOW(), DATE(NOW() + INTERVAL 30 DAY));

以下是SqlFiddle:http://sqlfiddle.com/#!2/f479f/1

最新更新