MySql触发器,以及如何手动抛出异常



基于这样的想法,假如一个项目中,只能有一个方法入口去操作某表的插入操作,为防止程序其他地方也能插入,特意统一入口,就想到了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;


猜你喜欢

转载自blog.csdn.net/yh88356656/article/details/52251500