嗨,我有日期时间变量的表。我想知道我是否可以以某种方式更改日期时间列以将 1O 分钟添加到存储日期。也许必须涉及一些触发器。
感谢帮助
我喜欢这个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
按以下方式添加 10 分钟
SELECT ADDTIME(now(), '1000');