MySQL 觸發器簡單例項

2021-08-07 05:45:35 字數 2054 閱讀 2913

觸發器(trigger)是個特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對乙個表進行操作( insert,delete, update)時就會啟用它執行。觸發器經常用於加強資料的完整性約束和業務規則等。

語法

1、create trigger《觸發器名稱》 –觸發器必須有名字,最多64個字元,可能後面會附有分隔符.它和mysql中其他物件的命名方式基本相象.

2、 –觸發器有執行的時間設定:可以設定為事件發生前或後。

3、 –同樣也能設定觸發的事件:它們可以在執行insert、update或delete的過程中觸發。

4、on《表名稱》 –觸發器是屬於某乙個表的:當在這個表上執行插入、 更新或刪除操作的時候就導致觸發器的啟用. 我們不能給同一張表的同乙個事件安排兩個觸發器。但可以有乙個before update觸發程式和乙個before delete觸發程式,或者乙個before update觸發程式和乙個after update觸發程式

5、for each row–觸發器的執行間隔:for each row子句通知觸發器 每隔一行執行一次動作,而不是對整個表執行一次。

6、<觸發器sql語句> –觸發器包含所要觸發的sql語句:這裡的語句可以是任何合法的語句, 包括復合語句,但是這裡的語句受的限制和函式的一樣。

–你必須擁有相當大的許可權才能建立觸發器(create trigger),如果你已經是root使用者,那麼就足夠了。這跟sql的標準有所不同。

例項

#建立user表

drop table if exists user;

create table user(

id int(11) notnull auto_increment comment("使用者id"),

name varchar(10) not null comment("使用者名稱")

);drop table if exists comment;

create table comment(

u_id int(11) not null comment("使用者id"),

u_name varchar(10) not null comment("使用者名稱")

);

建立觸發器:t_afterupdate_on_comment

作用:改變user表記錄後自動跟新comment表中使用者資訊

drop

trigger

ifexists t_afterupdate_on_comment;

create

trigger t_afterupdate_on_comment

after

update

onuser

foreach

rowbegin

update commentset u_name=new.namewhereu_id=old.id;

end;

1、首先在dos視窗檢視自己mysql的版本資訊,>mysql –version

mysql資料庫是從5.0.2版本才開始支援觸發器的。

2、首先找到需要操作的表,右鍵設計表

3、找到觸發器選項

4、建立觸發器

5、預覽效果

MySQL 觸發器簡單例項

mysql 觸發器簡單例項 語法 create trigger 觸發器名稱 觸發器必須有名字,最多64個字元,可能後面會附有分隔符.它和mysql中其他物件的命名方式基本相象.觸發器有執行的時間設定 可以設定為事件發生前或後。同樣也能設定觸發的事件 它們可以在執行insert update或dele...

MySQL 觸發器簡單例項

語法 create trigger 觸發器名稱 觸發器必須有名字,最多64個字元,可能後面會附有分隔符.它和mysql中其他物件的命名方式基本相象.觸發器有執行的時間設定 可以設定為事件發生前或後。同樣也能設定觸發的事件 它們可以在執行insert update或delete的過程中觸發。on 表名...

MySQL 觸發器簡單例項

語法 create trigger 觸發器名稱 觸發器必須有名字,最多64個字元,可能後面會附有分隔符.它和mysql中其他物件的命名方式基本相象.觸發器有執行的時間設定 可以設定為事件發生前或後。同樣也能設定觸發的事件 它們可以在執行insert update或delete的過程中觸發。on 表名...