navicat
創新互聯建站主要從事成都網站制作、成都網站建設、網頁設計、企業做網站、公司建網站等業務。立足成都服務商州,十多年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:18980820575
for
mysql中如何添加delete觸發器
navicat
for
mysql
中,選中數據表—鼠標右鍵—設計表,有一個觸發器的設置,然后:
設置一個觸發器名稱,觸發選擇after,勾中插入
在下面的框中:(僅是舉例)
begin
insert
into
transfer(id,a1,a2,cz,qtime)
values(new.id,values1,values2,'已點',new.ordertime)
end
將delimiter ; 更改為delimiter //\x0d\x0a如下:\x0d\x0amysql delimiter //\x0d\x0amysql create trigger insertArticle_Trigger after insert on article1\x0d\x0a - for each row\x0d\x0a - begin\x0d\x0a - update board1 set articleCount = articleCount+1 where id=new.bid;\x0d\x0a - end;\x0d\x0a - //\x0d\x0a\x0d\x0a執行如下語句,可查看到board1表articleCount被更改:\x0d\x0amysql delimiter ;\x0d\x0amysql insert into article1 values(1);\x0d\x0a\x0d\x0a其中delimiter作用:\x0d\x0a告訴mysql解釋器,該段命令是否已經結束了,mysql是否可以執行了。 \x0d\x0a默認情況下,delimiter是分號;。在命令行客戶端中,如果有一行命令以分號結束, 那么回車后,mysql將會執行該命令。但有時候,不希望MySQL這么做。在為可能輸入較多的語句,且語句中包含有分號。使用delimiter //,這樣只有當//出現之后,mysql解釋器才會執行這段語句。詳見
1、先創建一個空的person_log表用來存放被刪除的記錄。
2、創建一個觸發器del_person,執行刪除操作后將記錄插入到person_log表。
觸發器person_log
3、從person表中執行刪除記錄操作來觸發事件
4、查看person_log表結果:
結果:從person表執行刪除一條記錄后會觸發person_log表中增加被刪除的記錄。
語法說明如下。
1) 觸發器名
觸發器的名稱,觸發器在當前數據庫中必須具有唯一的名稱。如果要在某個特定數據庫中創建,名稱前面應該加上數據庫的名稱。
2) INSERT | UPDATE | DELETE
觸發事件,用于指定激活觸發器的語句的種類。
注意:三種觸發器的執行時間如下。INSERT:將新行插入表時激活觸發器。例如,INSERT 的 BEFORE 觸發器不僅能被 MySQL 的 INSERT 語句激活,也能被 LOAD DATA 語句激活。DELETE: 從表中刪除某一行數據時激活觸發器,例如 DELETE 和 REPLACE 語句。UPDATE:更改表中某一行數據時激活觸發器,例如 UPDATE 語句。
3) BEFORE | AFTER
BEFORE 和 AFTER,觸發器被觸發的時刻,表示觸發器是在激活它的語句之前或之后觸發。若希望驗證新數據是否滿足條件,則使用 BEFORE 選項;若希望在激活觸發器的語句執行之后完成幾個或更多的改變,則通常使用 AFTER 選項。
4) 表名
與觸發器相關聯的表名,此表必須是永久性表,不能將觸發器與臨時表或視圖關聯起來。在該表上觸發事件發生時才會激活觸發器。同一個表不能擁有兩個具有相同觸發時刻和事件的觸發器。例如,對于一張數據表,不能同時有兩個 BEFORE UPDATE 觸發器,但可以有一個 BEFORE UPDATE 觸發器和一個 BEFORE INSERT 觸發器,或一個 BEFORE UPDATE 觸發器和一個 AFTER UPDATE 觸發器。
5) 觸發器主體
觸發器動作主體,包含觸發器激活時將要執行的 MySQL 語句。如果要執行多個語句,可使用 BEGIN…END 復合語句結構。
本文標題:mysql怎么加觸發器 mysql的觸發器
本文鏈接:http://m.2m8n56k.cn/article4/hpcpoe.html
成都網站建設公司_創新互聯,為您提供定制網站、面包屑導航、網站設計、網站改版、網站制作、網站內鏈
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯