首頁 > 資料庫 > mysql教程 > 資料庫觸發器怎麼創建

資料庫觸發器怎麼創建

王林
發布: 2020-06-30 16:36:27
原創
6314 人瀏覽過

建立資料庫觸發器的語法是:【CREATE <觸發器名> < BEFORE | AFTER >ON <表名> FOR EACH Row<觸發器主體>】 。觸發器在目前資料庫中具有唯一的名稱。

資料庫觸發器怎麼創建

在 MySQL 5.7 中,可以使用 CREATE TRIGGER 語句建立觸發器。

(推薦學習:mysql教學

語法格式如下:

CREATE <触发器名> < BEFORE | AFTER >
<INSERT | UPDATE | DELETE >
ON <表名> FOR EACH Row<触发器主体>
登入後複製

語法說明如下:

#1、觸發器名

觸發器的名稱,觸發器在目前資料庫中必須具有唯一的名稱。如果要在某個特定資料庫中創建,名稱前面應該加上資料庫的名稱。

2、INSERT | UPDATE | DELETE

觸發事件,用於指定啟動觸發器的語句的種類。

3、BEFORE | AFTER

BEFORE 和 AFTER,觸發器被觸發的時刻,表示觸發器是在啟動它的語句之前或之後觸發。若希望驗證新資料是否符合條件,則使用 BEFORE 選項;若希望在啟動觸發器的語句執行之後完成幾個或更多的改變,則通常使用 AFTER 選項。

4、表名

與觸發器相關聯的表名,此表必須是永久性表,不能將觸發器與暫存表或檢視關聯起來。在該表上觸發事件發生時才會啟動觸發器。

同一個表不能擁有兩個具有相同觸發時刻和事件的觸發器。例如,對於一張資料表,不能同時有兩個 BEFORE UPDATE 觸發器,但可以有一個 BEFORE UPDATE 觸發器和一個 BEFORE INSERT 觸發器,或一個 BEFORE UPDATE 觸發器和一個 AFTER UPDATE 觸發器。

5、觸發器主體

觸發器動作主體,包含觸發器啟動時將要執行的 MySQL 語句。如果要執行多個語句,可使用 BEGIN…END 複合語句結構。

6、FOR EACH ROW

一般是指行級觸發,對於受觸發事件影響的每一行都要啟動觸發器的動作。例如,使用 INSERT 語句向某個表中插入多行資料時,觸發器會對每一行資料的插入都執行對應的觸發器動作。

以上是資料庫觸發器怎麼創建的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板