从现在起,如何在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