嗨,我有一个带有datetime变量的表。 我想知道我是否能以某种方式更改datetime列以将10分钟添加到存储日期。 也许必须涉及一些触发因素。
感谢您的帮助
答案 0 :(得分:11)
我喜欢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
答案 1 :(得分:1)
以下列方式添加10分钟
SELECT ADDTIME(now(), '1000');