MySQL中有一种特殊的数据类型'time'。MySQL触发器创建定时器
如果我想让我的'时间'值在某些state_id
从1变为2时开始计数,触发器将如何显示?例如:
CREATE TRIGGER log_time AFTER UPDATE ON usr
FOR EACH ROW
BEGIN
IF usr.st_id = 2 THEN
#.... - thats what i dont know
END IF;
END;
将停止计数当state_id
变化从2比1
MySQL中有一种特殊的数据类型'time'。MySQL触发器创建定时器
如果我想让我的'时间'值在某些state_id
从1变为2时开始计数,触发器将如何显示?例如:
CREATE TRIGGER log_time AFTER UPDATE ON usr
FOR EACH ROW
BEGIN
IF usr.st_id = 2 THEN
#.... - thats what i dont know
END IF;
END;
将停止计数当state_id
变化从2比1
相反的背面开始/停止计数器(我不知道这甚至有可能),你应该存储在2个不同的列中的值(然后需要。减去时得到的时间)通过存储初始值,然后在所述触发更新它
DELIMITER $$
CREATE TRIGGER log_time AFTER UPDATE ON usr
FOR EACH ROW
BEGIN
IF new.st_id = 2 THEN
UPDATE <table> set <log_start_time> = CURTIME() <where_clause>;
elseif new.st_id = 1 THEN
UPDATE <table> set <log_end_time> = CURTIME() <where_clause>;
END IF;
END;
$$
DELIMITER;
OR 1列
DELIMITER $$
CREATE TRIGGER log_time AFTER UPDATE ON usr
FOR EACH ROW
BEGIN
IF new.st_id = 2 THEN
UPDATE <table> set <logtime> = CURTIME() <where_clause>;
else if new.st_id = 1 THEN
UPDATE <table> set <logtime> = subtime(CURTIME(), select statement to get original value) <where_clause>;
END IF;
END;
$$
DELIMITER;
好吧,我是新来的编码,并想知道如果这甚至有可能,如果这样会有什么来解决这个问题
好我的数据库中最好的方式,我有当前时间的排和行的持续时间,我想找到一种方式,以便当时间是T + D的价值,它会改变颜色(绿色)?甚至更好,如果能这样做,如果等于或低于2分钟的琥珀色和超过2分钟,红色(有点像一个红绿灯的想法)
希望这是有道理
T | D
---------------
22:50 | 6 (mins)
在22 :56这会改变颜色在网站上
谢谢
欢迎来到SO!请考虑发布这是一个新的问题,因为它不回答原来的问题。 – fstanis
哪一个为你工作? – Spidey
第一个工作很好 –