我用mysql
create trigger check_user_version before update on user for each row begin
if old.version < new.version then //判断不符合条件就抛异常
insert into log values(old.version);
else
insert into log values(1,1); //这句抛出异常
end if;
end$$因为log表只有一个字段,所以抛出异常,但是我希望直接抛出异常,怎么写?
create trigger check_user_version before update on user for each row begin
if old.version < new.version then //判断不符合条件就抛异常
insert into log values(old.version);
else
insert into log values(1,1); //这句抛出异常
end if;
end$$因为log表只有一个字段,所以抛出异常,但是我希望直接抛出异常,怎么写?
o my god
那么只好问哪种方法性能最好了,插入一个错误的数据?查询一个不存在的表?等等
1.使用SESSION级别的变量,假设名称为 @trigger_return_valecreate trigger check_user_version before update on user for each row
BEGIN
SET @trigger_return_vale=0;
if old.version < new.version then //判断不符合条件就抛异常
insert into log values(old.version);
else
SET @trigger_return_vale=1; //这句抛出异常
end if;END$$2.UPDATE执行成功之后,立即再去获取@trigger_return_vale的值,是多少,是1 还是0 就可以判断了
#****************************************#
MySQL技术及运维自动化网:www.mysqlops.com新浪微博账号:http://weibo.com/mysqlops
#****************************************#
#****************************************#
MySQL技术及运维自动化网:www.mysqlops.com新浪微博账号:http://weibo.com/mysqlops
#****************************************#