如何在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,但它也没有用。
答案 0 :(得分: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);
可以找到一些文档here
答案 1 :(得分: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