在GUI界面的工具里面,可以不要用delimiter |这样来转换分号,其他都是一样的。 你看我在MYSQL-FRONT里写的例子。 DROP TRIGGER IF EXISTS testref; CREATE TRIGGER testref BEFORE UPDATE ON voice_dial_relay FOR EACH ROW BEGIN IF NEW.task_type=2 THEN IF NEW.small_serial>0 THEN SET NEW.call_time=date_add(old.call_time,interval old.runtime + old.interval_second+30 SECOND); ELSE set NEW.state=1; UPDATE voice_dialtest SET state=4 WHERE voice_dialtest_id=new.voice_dialtest_id;
END IF ; END IF ;
IF NEW.task_type=1 THEN IF NEW.small_serial>0 THEN SET NEW.call_time=date_add(old.call_time,interval old.runtime + old.interval_second+30 SECOND); ELSE set NEW.state=1; UPDATE voice_dialtest SET state=4 WHERE voice_dialtest_id=new.voice_dialtest_id; END IF ; END IF ;
IF NEW.task_type=3 THEN IF NEW.end_time<now() THEN set NEW.state=1; UPDATE voice_dialtest SET state=4 WHERE voice_dialtest_id=new.voice_dialtest_id; END IF ; IF NEW.small_serial<=0 THEN SET NEW.state=1; ELSE SET NEW.call_time=date_add(old.call_time,interval old.runtime + old.interval_second+30 SECOND); END IF ; END IF ; END;
给个提示吧
不是在 shell里 ,因为数据库大多数用的中文名,
所以想在 navicat 或者 phpadmin操作界面中添加 触发器
你看我在MYSQL-FRONT里写的例子。
DROP TRIGGER IF EXISTS testref;
CREATE TRIGGER testref BEFORE UPDATE ON voice_dial_relay
FOR EACH ROW BEGIN
IF NEW.task_type=2 THEN
IF NEW.small_serial>0 THEN
SET NEW.call_time=date_add(old.call_time,interval old.runtime + old.interval_second+30 SECOND);
ELSE
set NEW.state=1;
UPDATE voice_dialtest SET state=4 WHERE voice_dialtest_id=new.voice_dialtest_id;
END IF ;
END IF ;
IF NEW.task_type=1 THEN
IF NEW.small_serial>0 THEN
SET NEW.call_time=date_add(old.call_time,interval old.runtime + old.interval_second+30 SECOND);
ELSE
set NEW.state=1;
UPDATE voice_dialtest SET state=4 WHERE voice_dialtest_id=new.voice_dialtest_id;
END IF ;
END IF ;
IF NEW.task_type=3 THEN
IF NEW.end_time<now() THEN
set NEW.state=1;
UPDATE voice_dialtest SET state=4 WHERE voice_dialtest_id=new.voice_dialtest_id;
END IF ;
IF NEW.small_serial<=0 THEN
SET NEW.state=1;
ELSE
SET NEW.call_time=date_add(old.call_time,interval old.runtime + old.interval_second+30 SECOND);
END IF ;
END IF ;
END;
我是个新手, 我想知道要用gui界面的话,创建触发器的时候 ,应该用 ‘创建事件’还是其他的,
是的话 我应该怎么做。
中都可以执行SQL语句啊!
如何执行 mysql 语句