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
BEFOREindicates 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
INSERTindicates the trigger event; that is, the type of operation that activates the trigger. In the example,INSERToperations cause trigger activation. You can also create triggers forDELETEandUPDATEoperations. -
The statement following
FOR EACH ROWdefines 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 simpleSETthat accumulates into a user variable the values inserted into theamountcolumn. The statement refers to the column asNEW.amountwhich means “the value of theamountcolumn to be inserted into the new row.”
具體參見:http://dev.mysql.com/doc/refman/5.7/en/trigger-syntax.html
Navicat中使用
1.選中要添加觸發器的表;
2.打開其設計表;
3.打開觸發器,在指定欄中設置觸發器;
具體參見:http://blog.csdn.net/cqnuztq/article/details/9735245
