mysql中的触发器(trigger)使用
Trigger:
示例:
mysql> CREATE TABLE account (acct_num INT, amount DECIMAL(10,2)); Query OK, 0 rows affected (0.03 sec) mysql> CREATE TRIGGER ins_sum BEFORE INSERT ON account -> FOR EACH ROW SET @sum = @sum + NEW.amount; Query OK, 0 rows affected (0.06 sec)
解析:<原谅我这懒惰的搬运工>
The CREATE TRIGGER
statement creates a trigger named ins_sum
that is associated with the account
table. It also includes clauses that specify the trigger action time, the triggering event, and what to do when the trigger activates:
-
The keyword
BEFORE
indicates the trigger action time. In this case, the trigger activates before each row inserted into the table. The other permitted keyword here isAFTER
. -
The keyword
INSERT
indicates the trigger event; that is, the type of operation that activates the trigger. In the example,INSERT
operations cause trigger activation. You can also create triggers forDELETE
andUPDATE
operations. -
The statement following
FOR EACH ROW
defines the trigger body; that is, the statement to execute each time the trigger activates, which occurs once for each row affected by the triggering event. In the example, the trigger body is a simpleSET
that accumulates into a user variable the values inserted into theamount
column. The statement refers to the column asNEW.amount
which means “the value of theamount
column to be inserted into the new row.”
具体参见:http://dev.mysql.com/doc/refman/5.7/en/trigger-syntax.html
Navicat中使用
1.选中要添加触发器的表;
2.打开其设计表;
3.打开触发器,在指定栏中设置触发器;