基于这样的想法,假如一个项目中,只能有一个方法入口去操作某表的插入操作,为防止程序其他地方也能插入,特意统一入口,就想到了MySQL触发器,如下:
drop trigger if exists `employee_tri`;#删除触发器
CREATE TRIGGER `employee_tri`#
BEFORE INSERT #插入前触发
ON `aaa`
FOR EACH ROW
begin
#createTime为系统当前时间
if new.ctype!='test' then
#Mysql触发器中抛出一个异常,Mysql 5.5 开始为我们提供了SIGNAL函数来实现这个功能
SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = '手动抛出异常' ;
elseif new.ctype='test' then
#字段加密
SET new.ctype=MD5(new.ctype);
end if;
end;