av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

MySQL觸發(fā)器如何正確使用

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

創(chuàng)新互聯(lián)長期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為臨澤企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站建設(shè),臨澤網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

該表中有一個region_id,對應(yīng)到ge_region表中的id,但是,region_id是可以為空的,所以不應(yīng)該設(shè)置外鍵約束,而我在刪除ge_region表中的記錄時,希望把在ge_element表中被引用到的記錄的region_id設(shè)為0,因為沒有數(shù)據(jù)庫的外鍵約束,我只能在程序中操作,但我又不想通過程序來操作,因為引用region_id的表可能不只ge_element一個,這時,就可能用到MySQL觸發(fā)器,在刪除ge_region表中的記錄時,把被引用的表中的region_id設(shè)為0。

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

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

{ BEFORE | AFTER }

{ INSERT | UPDATE | DELETE }

ON <表名稱>

FOR EACH ROW

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

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

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

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

2.觸發(fā)時間:

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

3.觸發(fā)事件:

三個事件:insert, update, delete

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

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

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

5.觸發(fā)間隔:

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

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

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

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

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

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

允許條件聲明.

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

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

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

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

 【編輯推薦】

  1. MySQL LIMIT如何正確對其進(jìn)行優(yōu)化
  2. MySQL兩項性能的基本測試淺談
  3. MySQL臨時表的具體使用方案
  4. 用Excel如何對MySQL數(shù)據(jù)進(jìn)行分析
  5. MySQL數(shù)據(jù)類型與相應(yīng)的建庫策略

分享題目:MySQL觸發(fā)器如何正確使用
網(wǎng)站網(wǎng)址:http://uogjgqi.cn/article/cocigpe.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流