我喜欢
INTERVAL expr unit表示法.这对我来说更具可读性:
SELECT NOW(),
NOW() + INTERVAL 10 MINUTE;
+--------------------------------+-------------------------------+
| NOW() | NOW() + INTERVAL 10 MINUTE |
+--------------------------------+-------------------------------+
| August, 12 2013 14:12:56+0000 | August, 12 2013 14:22:56+0000 |
+--------------------------------+-------------------------------+
如果要选择现有行并将10分钟添加到结果中:
SELECT the_date + INTERVAL 10 MINUTE FROM tbl;
如果要更改存储在表中的现有行,可以使用:
UPDATE tbl SET the_date = the_date + INTERVAL 10 MINUTE;
如果要在插入时强制增加值10分钟,则需要触发器:
CREATE TRIGGER ins_future_date BEFORE INSERT ON tbl
FOR EACH ROW
SET NEW.the_date = NEW.the_date + INTERVAL 10 MINUTE