时间:2021-07-01 10:21:17 帮助过:12人阅读
所谓的MySQL触发器实际上与一些编程语言中的事件/事件处理程序类似
CREATE TABLE account(acct_num INT,account DECIMAL(10,2));
CREATE TIGGER ins_sum BEFORE INSERT ON account FOR EACH ROW SET @sum=@sum+NEW.account;
ins_sum
的触发器,BEFORE
指明了触发的动作时间,与之对应的是AFTER
;INSERT
指明了激活触发器的动作,此位置还可以用UPDATE
/DELETE
;跟在FOR EACH ROW
后面的语句定义了激活触发器后将要执行的程序。在上面的例子中,触发而执行的语句是SET
语句,负责将插入的account的值加起来,其中NEW.account
意思是将要插入到新行的account的值。@account
初始化,然后再执行INSERT
语句OLD
和NEW
来更新或引用动作执行之前和之后的对象DROP TRIGGER [scheme_name.]trigger_name
test_file
。然后执行mysql db_name < test_file --user=root
USE [db_name]
,应执行mysql < test_file --user=root
以上两个例子,MySQL用户名为root,文本文件为test_filesource
或者\.
。e.g.:source test_file.sql
或者\. test_file.sql
MySQL触发器
标签:事务 use 写入 creat 用户 new 文本 初始化 upd