MYSQL在触发器中怎样实现‘根据条件来确定是否插入一条记录’?急!
16lz
2021-01-22
我刚学MYSQL不久,遇到一个问题:用触发器实现一条记录是否可以插入表中。
比如一个表
createtablet
(idint,
countint,
sumint
);
比如判断条件是:当count的值大于100时,就不能添加这条记录。
我在一本MYSQL的书上见到一个类似的例子:
createtriggerborn_vs_joined
beforeinsert,updateonplayersforeachrow
begin
ifyear(NEW.birth_date)>=NEW.joined)then
rollbackwork;
endif;
end
于是我也按照例子使用了rollbackwork,但是会报错:
ERROR1422(HY000):Explicitorimplicitcommitisnotallowedinstoredfunctionortrigger.
说在存储函数或触发程序中,不允许显式或隐式提交。
但是书上却是那样写的,到底应该怎么做?
希望高手指点一下,该用什么方法实现?我会在线等的。谢谢了!!!
谁来帮一下!
比如一个表
createtablet
(idint,
countint,
sumint
);
比如判断条件是:当count的值大于100时,就不能添加这条记录。
我在一本MYSQL的书上见到一个类似的例子:
createtriggerborn_vs_joined
beforeinsert,updateonplayersforeachrow
begin
ifyear(NEW.birth_date)>=NEW.joined)then
rollbackwork;
endif;
end
于是我也按照例子使用了rollbackwork,但是会报错:
ERROR1422(HY000):Explicitorimplicitcommitisnotallowedinstoredfunctionortrigger.
说在存储函数或触发程序中,不允许显式或隐式提交。
但是书上却是那样写的,到底应该怎么做?
希望高手指点一下,该用什么方法实现?我会在线等的。谢谢了!!!
2 个解决方案
#1
谁来帮一下!
更多相关文章
- zTree.js 异步加载地区例子
- Python学习/复习神器-->各种方法/技巧在哪用和典型例子(一)
- Python 浅拷贝和深拷贝使用例子
- python打印列表的下标和值的例子:
- python2.7练习小例子(十二)
- 创建链表的小例子
- LNMP(Linux+Nginx+Mysql+PHP)环境下安装yaf框架并编写一个MVC例子
- 简单统计报表例子(存储过程)
- unity连接数据库MySQL简单例子