我刚学MYSQL不久,遇到一个问题:用触发器实现一条记录是否可以插入表中。
比如一个表
create table t
( id    int,
  count int,
  sum   int
);
比如判断条件是:当count的值大于100时,就不能添加这条记录。
我在一本MYSQL的书上见到一个类似的例子:
create trigger born_vs_joined
   before insert, update on players for each row
   begin
      if year(NEW.birth_date)>=NEW.joined) then
         rollback work;
      end if;
   end
于是我也按照例子使用了rollback work,但是会报错:
ERROR 1422 (HY000): Explicit or implicit commit is not allowed in stored function or trigger.
说在存储函数或触发程序中,不允许显式或隐式提交。但是书上却是那样写的,到底应该怎么做?
希望高手指点一下,该用什么方法实现?我会在线等的。谢谢了!!!