0

如何从现在开始在 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() + INTERVAL 30 DAY,但它也不起作用。

4

2 回答 2

1

我想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

于 2013-08-14T21:14:44.267 回答
0

问题不在于日期数学。只需将第二个参数留给 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

于 2013-08-14T21:21:24.487 回答