触发器的作用就是同步某一个表的数据或者是统计某一个表的数据。
触发器模板:
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
-- 参数一 触发器所属数据库名
-- 参数二 触发器名
-- 参数三 触发条件 参数四触发以后是触发表操作之前还是之后
-- 参数四 触发条件 触发表(插入|修改|删除)数据触发
-- 参数五 触发表所属数据库名
-- 参数六 触发表名
TRIGGER `参数一`.`参数二` 参数三(BEFORE/AFTER) 参数四(INSERT/UPDATE/DELETE)
ON `参数五`.`参数六`
FOR EACH ROW BEGIN
-- 编写sql逻辑
END$$
DELIMITER ;
触发器中有两个变量可以获取更新前的数据和修改后的数据。
old:旧数据 修改|删除触发或获取数据
new:新数据 添加|修改触发可获取数据
获取方式:old.id,new.id id为数据表的字段名,其他字段也是相同的方式获取
还有一个语句在配合触发器使用时能更好的同步或统计表数据。
insert into table(表字段) values(添加数据) on duplicate key update key=value(更新数据)
-- 这句话的意思是插入数据 当唯一字段出现重复时直接更新数据