亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來(lái)到思海網(wǎng)絡(luò),我們將竭誠(chéng)為您提供優(yōu)質(zhì)的服務(wù)! 誠(chéng)征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購(gòu)買流程 | 付款方式 | 聯(lián)系我們 [ 會(huì)員登錄/注冊(cè) ]
促銷推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁(yè) >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

MySQL觸發(fā)器正確使用方法

添加時(shí)間:2012-4-19  添加: admin 

以下的文章主要描述的是如何對(duì)MySQL觸發(fā)器進(jìn)行正確使用, MySQL數(shù)據(jù)庫(kù)是在5.0 以后的相關(guān)版本中對(duì)MySQL觸發(fā)器進(jìn)行引用,有時(shí)也可以用相關(guān)的觸發(fā)器對(duì)數(shù)據(jù)的完整性進(jìn)行維護(hù)。如我有一個(gè)表ge_element。

該表中有一個(gè)region_id,對(duì)應(yīng)到ge_region表中的id,但是,region_id是可以為空的,所以不應(yīng)該設(shè)置外鍵約束,而我在刪除ge_region表中的記錄時(shí),希望把在ge_element表中被引用到的記錄的region_id設(shè)為0,因?yàn)闆](méi)有數(shù)據(jù)庫(kù)的外鍵約束,我只能在程序中操作,但我又不想通過(guò)程序來(lái)操作,因?yàn)橐胷egion_id的表可能不只ge_element一個(gè),這時(shí),就可能用到MySQL觸發(fā)器,在刪除ge_region表中的記錄時(shí),把被引用的表中的region_id設(shè)為0。

1.創(chuàng)建觸發(fā)器的語(yǔ)句:

CREATE TRIGGER <觸發(fā)器名稱> <--

{ BEFORE | AFTER }


{ INSERT | UPDATE | DELETE }


ON <表名稱>


FOR EACH ROW


<觸發(fā)器SQL語(yǔ)句>


觸發(fā)器必須有名字,最多64個(gè)字符,可能后面會(huì)附有分隔符.它和MySQL中其他對(duì)象的命名方式基本相象.

這里我有個(gè)習(xí)慣:就是用表的名字+'_'+觸發(fā)器類型的縮寫.因此如果是表t26,觸發(fā)器是在事件UPDATE(參考下面的點(diǎn)(2)和(3))之前(BEFORE)的,那么它的名字就是t26_bu。

可以直接在EMS中創(chuàng)建觸發(fā)器。

2.觸發(fā)時(shí)間:

Before表示在事件發(fā)生之前執(zhí)行MySQL觸發(fā)器,After表示在事件發(fā)生之后執(zhí)行觸發(fā)器;

3.觸發(fā)事件:

三個(gè)事件:insert, update, delete

4.觸發(fā)器與表的關(guān)系:

觸發(fā)器是屬于一個(gè)表的,當(dāng)在這個(gè)表上執(zhí)行insert, update, delete操作時(shí),就會(huì)導(dǎo)致相應(yīng)的觸發(fā)器被激活;

不能給同一個(gè)表的同一個(gè)操作創(chuàng)建兩個(gè)不同的觸發(fā)器。

5.觸發(fā)間隔:

FOR EACH ROW 子句通知MySQL觸發(fā)器每隔一行執(zhí)行一次動(dòng)作,而不是對(duì)整下表執(zhí)行一次。

6.觸發(fā)的SQL語(yǔ)句:

觸發(fā)器包含所要觸發(fā)的SQL語(yǔ)句:這里的語(yǔ)句可以是任何合法的語(yǔ)句,包括復(fù)合語(yǔ)句,但是這里的語(yǔ)句受的限制和函數(shù)的一樣。

復(fù)合語(yǔ)句(BEGIN / END)是合法的.

流控制(Flow-of-control)語(yǔ)句(IF, CASE, WHILE, LOOP, WHILE, REPEAT, LEAVE,ITERATE)也是合法的.

變量聲明(DECLARE)以及指派(SET)是合法的.

允許條件聲明.

異常處理聲明也是允許的.

但是在這里要記住函數(shù)有受限條件:不能在函數(shù)中訪問(wèn)表.因此在函數(shù)中使用以下語(yǔ)句是非法的。

7.創(chuàng)建觸發(fā)器的權(quán)限:

你必須要有相當(dāng)大的權(quán)限才能夠創(chuàng)建MySQL觸發(fā)器;我在創(chuàng)建觸發(fā)器的時(shí)候提示要有super privilege才可以創(chuàng)建

關(guān)鍵字:MySQL、觸發(fā)器、正確使用

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證: 粵B1.B2-20030321 備案號(hào):粵B2-20030321-1
網(wǎng)站公安備案編號(hào):44060602000007 交互式欄目專項(xiàng)備案編號(hào):200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎(jiǎng)  警警  手機(jī)打開(kāi)網(wǎng)站