版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Drug_/article/details/84318559
创建触发器
CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件
ON 表名 FOR EACH ROW
BEGIN
执行语句列表
END
其中,BEGIN与END之间的执行语句列表参数表示需要执行的多个语句,不同语句用分号隔开
tips:一般情况下,mysql默认是以 ; 作为结束执行语句,与触发器中需要的分行起冲突
为解决此问题可用DELIMITER,如:DELIMITER ||,可以将结束符号变成||
当触发器创建完成后,可以用DELIMITER ;来将结束符号变成;
根据 插入 来判断另一个表是否有数据 如果有数据就是更新 没有数据就是插入
BEGIN
if(select sessionId from vpn_session_log where new.sessionId=sessionId limit 1) is NOT null THEN
UPDATE vpn_session_log SET session_time=new.session_time where sessionId=new.sessionId;
ELSE
INSERT INTO vpn_session_log(sessionId,username,ipaddress,NasIdentifier,CallingStationId,update_time,session_time) values(new.sessionId,new.username,new.ipaddress,new.NasIdentifier,new.CallingStationId,new.update_time,new.session_time);
END if;
END
drop trigger vpn;#删除触发器