程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql那些事兒之(十一)觸發器二

Mysql那些事兒之(十一)觸發器二

編輯:MySQL綜合教程


Mysql那些事兒之(十一)觸發器二   相關鏈接: Mysql那些事兒之(一)mysql的安裝 http://www.BkJia.com/database/201210/162314.html; Mysql那些事兒之(二)有關數據庫的操作 http://www.BkJia.com/database/201210/162315.html; Mysql那些事兒之(三)有關數據表的操作 http://www.BkJia.com/database/201210/162316.html; Mysql那些事兒之(四)數據表數據查詢操作 http://www.BkJia.com/database/201210/162317.html; Mysql那些事兒之(五)操作時間 http://www.BkJia.com/database/201210/162318.html; Mysql那些事兒之(六)字符串模式匹配 http://www.BkJia.com/database/201210/163969.html; Mysql那些事兒之(七)深入select查詢 http://www.BkJia.com/database/201210/163970.html; Mysql那些事兒之(八)索引 http://www.BkJia.com/database/201210/163971.html; Mysql那些事兒之(九)常用的函數 http://www.BkJia.com/database/201210/164229.html; Mysql那些事兒之(十)觸發器一 http://www.BkJia.com/database/201210/164516.html   比較after insert、before insert、after update、before update觸發時間與事件 的觸發情況。    www.2cto.com   Sql代碼   --創建表   create table film_text(   id smallint auto_increment,   name varchar(40),   txt text,   primary key(id)   );      對於film表在 觸發器 一 裡有提過,代碼就不寫了。 針對表film 創建before insert 觸發器:   Sql代碼   --創建before insert 觸發器   create trigger trigger_film_bef  --觸發器名稱為trigger_film_bef    before insert --觸發器的時間和事件   on film    for each row  --行級觸發器   begin      insert into film_text values(null,'sunny','before insert');   end;   針對表film 創建 after insert 觸發器:   Sql代碼   --創建after insert 觸發器   create trigger trigger_film_aft  --觸發器名稱為trigger_film_aft   after insert --觸發器的時間和事件   on film    for each row  --行級觸發器   begin      insert into film_text values(null,'sunny','after insert');   end;      www.2cto.com   針對表film 創建 after update觸發器   Sql代碼   --創建after update 觸發器   create trigger upd_film_aft  --觸發器名稱為upd_film_aft     after update --觸發器的時間和事件   on film    for each row  --行級觸發器   begin      insert into film_text values(null,'sunny','after update');   end;     針對表film 創建 before update觸發器   Sql代碼   --創建before update觸發器   create trigger upd_film_bef   before update on film   for each row   begin   insert into film_text values(null,'sunny','before update');   end;      www.2cto.com   到現在四個觸發器創建完了。   可以做下實驗: 插入一條數據   Sql代碼   insert into film values(null,'sunny','i like you',null);   查詢表film_text:   Sql代碼   select * from film_text;   Sql代碼    結果如下:     Sql代碼   mysql> select * from film_text;   +----+---------+-----------------+   | id | name    | txt             |   +----+---------+-----------------+   |  9 | huigui0 | thank you...... |   | 10 | sunny   | before insert   |   | 11 | sunny   | after insert    |   +----+---------+-----------------+   3 rows in set    說明了 before與after的順序。    www.2cto.com   更新一條數據: Sql代碼   update film set name='sunny' where id=1;     結果如下: Sql代碼   | 12 | sunny   | before update   |   | 13 | sunny   | after update    |   +----+---------+-----------------+   5 rows in set    說明了 before與after的順序。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved