最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 觸發(fā)器詳解及簡單實例

 更新時間:2017年03月30日 10:39:54   投稿:lqh  
這篇文章主要介紹了MySQL 觸發(fā)器詳解及簡單實例的相關資料,需要的朋友可以參考下

MySQL 觸發(fā)器簡單實例

語法

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

{ BEFORE | AFTER }  --觸發(fā)器有執(zhí)行的時間設置:可以設置為事件發(fā)生前或后。

{ INSERT | UPDATE | DELETE }  --同樣也能設定觸發(fā)的事件:它們可以在執(zhí)行insert、update或delete的過程中觸發(fā)。

ON <表名稱>  --觸發(fā)器是屬于某一個表的:當在這個表上執(zhí)行插入、 更新或刪除操作的時候就導致觸發(fā)器的激活. 我們不能給同一張表的同一個事件安排兩個觸發(fā)器。

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

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

--你必須擁有相當大的權限才能創(chuàng)建觸發(fā)器(CREATE TRIGGER),如果你已經是Root用戶,那么就足夠了。這跟SQL的標準有所不同。

實例

example1:

創(chuàng)建表tab1

DROP TABLE IF EXISTS tab1;
CREATE TABLE tab1(
  tab1_id varchar(11)
);

創(chuàng)建表tab2

DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(
  tab2_id varchar(11)
);

創(chuàng)建觸發(fā)器:t_afterinsert_on_tab1

作用:增加tab1表記錄后自動將記錄增加到tab2表中

DROP TRIGGER IF EXISTS t_afterinsert_on_tab1;
CREATE TRIGGER t_afterinsert_on_tab1 
AFTER INSERT ON tab1
FOR EACH ROW
BEGIN
   insert into tab2(tab2_id) values(new.tab1_id);
END;

測試一下

INSERT INTO tab1(tab1_id) values('0001');

看看結果

SELECT * FROM tab1;
SELECT * FROM tab2;

example2:

創(chuàng)建觸發(fā)器:t_afterdelete_on_tab1

作用:刪除tab1表記錄后自動將tab2表中對應的記錄刪去

DROP TRIGGER IF EXISTS t_afterdelete_on_tab1;
CREATE TRIGGER t_afterdelete_on_tab1
AFTER DELETE ON tab1
FOR EACH ROW
BEGIN
   delete from tab2 where tab2_id=old.tab1_id;
END;

測試一下

DELETE FROM tab1 WHERE tab1_id='0001';

看看結果

SELECT * FROM tab1;
SELECT * FROM tab2;

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • Mysql中時間戳轉為Date的方法示例

    Mysql中時間戳轉為Date的方法示例

    這篇文章主要給大家介紹了關于Mysql中時間戳轉為Date的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • centos7.3 安裝mysql5.7.18的詳細教程

    centos7.3 安裝mysql5.7.18的詳細教程

    這篇文章主要介紹了centos7.3 安裝mysql5.7.18的詳細教程,需要的朋友可以參考下
    2017-06-06
  • Docker Dockerfile構建MySQL并初始化數據方式

    Docker Dockerfile構建MySQL并初始化數據方式

    這篇文章主要介紹了Docker Dockerfile構建MySQL并初始化數據方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • MySQL查看數據庫表容量大小的方法示例

    MySQL查看數據庫表容量大小的方法示例

    這篇文章主要介紹了MySQL查看數據庫表容量大小的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • MySQL中CONCAT()函數拼接出現NULL的問題解決

    MySQL中CONCAT()函數拼接出現NULL的問題解決

    本文主要介紹了MySQL中CONCAT()函數拼接出現NULL的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Mysql分庫分表實現方式

    Mysql分庫分表實現方式

    這篇文章詳細介紹了分庫分表的概念,原因,如何實現,以及不同中間件的優(yōu)缺點,同時,也介紹了如何進行數據遷移和擴容縮容,以及如何處理分庫分表后的ID和事務問題
    2025-02-02
  • 深度解析MySQL啟動時報“The server quit without updating PID file”錯誤的原因

    深度解析MySQL啟動時報“The server quit without up

    這篇文章主要介紹了MySQL啟動時報“The server quit without updating PID file”錯誤的原因,需要的朋友可以參考下
    2017-05-05
  • MySQL啟用慢查詢日志記錄方法

    MySQL啟用慢查詢日志記錄方法

    由于程序員寫的東西不一定是最優(yōu)的所以我們只要啟用mysql慢查詢日志功能就可以分析每一條sql語句所運行相關性能了,下面大家一起來看看
    2017-01-01
  • MySQL Slave 觸發(fā) oom-killer解決方法

    MySQL Slave 觸發(fā) oom-killer解決方法

    這篇文章主要介紹了MySQL Slave 觸發(fā) oom-killer解決方法,需要的朋友可以參考下
    2016-07-07
  • MySql中的常用參數查詢

    MySql中的常用參數查詢

    這篇文章主要介紹了MySql中的常用參數查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論

手机| 南昌县| 伊宁市| 江都市| 三河市| 定结县| 双峰县| 从江县| 锡林浩特市| 什邡市| 碌曲县| 临汾市| 峡江县| 泸定县| 武功县| 吕梁市| 东乡| 富裕县| 广德县| 滕州市| 平度市| 许昌县| 濉溪县| 太和县| 陈巴尔虎旗| 遵义县| 兴宁市| 龙泉市| 镇江市| 雷波县| 酉阳| 晋宁县| 宝坻区| 东台市| 彭阳县| 合山市| 闽清县| 井研县| 隆尧县| 从化市| 巫溪县|