- mysql
- 触发器
概述
本文主要介绍如何使用触发器实现业务功能。
一个简单的触发器
此触发器实现单条记录在插入前的数据更改和链接操作
BEGIN
DECLARE newRoomId BIGINT(20);
set newRoomId = (select if(isnull(aa),1,aa+1) from (select max(id) as aa from trtc_room_info) tmp);
set new.room_id= newRoomId ;
set new.mix_stream_id = (select concat(new.sub_app_id, "_", newRoomId, "_playUrl"));
END
触发器规则
如果使用触发器操作的是当前行或表的数据使用new. 操作
CREATE TRIGGER `mytrigger2` BEFORE INSERT ON `trtc_room_info` FOR EACH ROW
BEGIN
SQL1...;
SQL2...;
SQL3...;
END;
总结
为了节省对数据库的操作,在简单的数据处理或者日志记录上可以使用触发器完成,但是单独的日志系统和业务层关联,所以触发器常常在数据库关联操作时候使用。