MySQL中有一个特殊的数据类型'time'。
当某些var Student = new Model({
name: 'John',
age: 22,
year: 5,
examsTaken: 2,
takeExam: function(){
this.examsTaken++;
this.changed = true;
}
});
var StudentController = new Controller({
model: Student,
elementId: 'student-container',
render: function(){
return '<span>' + this.model.name +
'</span><button id="student-exams-button">Increase exams taken</button>';
},
clickHandlers: {
'#student-exams-button': 'updateExams'
},
updateExams: function(){
this.model.takeExam();
}
});
从1更改为2时,如果我希望“时间”值开始计数,触发器会如何显示?例如:
state_id
当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;
从2变为1时,它将停止计数。
答案 0 :(得分: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;
通过存储初始值然后在触发器中更新它,在1列中进行OR运算
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;
答案 1 :(得分:0)
好吧,我是编码的新手,想知道这是否可能,如果是的话,最好的方法是解决这个问题
好的,在我的数据库中,我有一行当前时间和一行持续时间,我想找到一种方式,以便当时间是T + D的值时,它会改变颜色(绿色)?或者甚至更好,如果它可以这样做,如果等于或低于2分钟的琥珀色和超过2分钟的红色(有点像交通灯的想法)
希望这是有道理的
T | D
---------------
22:50 | 6 (mins)
在22:56,这会改变网站上的颜色
谢谢