MySQL 基本触发器
例子
创建表
mysql> CREATE TABLE account (acct_num INT, amount DECIMAL(10,2));
创建触发器
mysql> CREATE TRIGGER ins_sum BEFORE INSERT ON account -> FOR EACH ROW SET @sum = @sum + NEW.amount;
CREATETRIGGER语句创建一个名为ins_sum的触发器,它与帐户表相关联。它还包括指定触发器动作时间、触发事件以及触发器激活时要做什么的子句
插入值
要使用触发器,请将累加器变量(@sum)设置为零,然后执行INSERT语句,然后查看变量的值:
mysql> SET @sum = 0; mysql> INSERT INTO account VALUES(137,14.98),(141,1937.50),(97,-100.00); mysql> SELECT @sum AS 'Total amount inserted'; +-----------------------+ | Total amount inserted | +-----------------------+ | 1852.48 | +-----------------------+
在这种情况下,执行INSERT语句后@sum的值为14.98+1937.50-100,即1852.48。
下降触发器
mysql> DROP TRIGGER test.ins_sum;
如果删除一个表,该表的所有触发器也将被删除。