本文仅仅为了加强个人记忆,如果要学习建议点击链接去原文学习,参考学习文章:
原文链接:https://blog.csdn.net/YRB20/article/details/117999665
触发器:
注意上述格式中的on,触发器是作用在相应的表上,要设定自己所需要的表;
示例写法:
与创建存储过程相同,都是要使用:
delimiter$$
delimiter;
这种格式;
其中begin
...
end$$表示除法后执行语法;
里面有一些要注意的地方,比如这个new与old,是表示插入的数据,与原来在这个位置的数据;
跟着试验走:
1.
创建一张这个表:
create table record(
序号 int(6) not null primary key auto_increment,
用户名 varchar(20),
操作类型 varchar(4),
原内容 varchar(20),
新内容 varchar(20),
时间 datetime
);
2.
下面是这个触发器的代码:
delimiter $$
drop trigger if exists xs_insert;
create trigger xs_insert before insert
on xs for each row
begin
set @user = user();
set @operator_type = '插入';
set @old_content = 'null';
set @new_content = concat(new.学号,new.姓名);
set @time = now();
insert into record values(null,@user,@operator_type,@old_content,@new_content,@time);
end $$
delimiter ;
使用上面的代码可以,但是下面是自己写的也不知道哪里出bug删除的时候显示不行,可能是变量设置的问题吧,记好上面的样式就行;