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

MySQL觸發(fā)器的使用詳解

 更新時間:2022年06月17日 08:54:57   作者:不斷前進的皮卡丘  
觸發(fā)器trigger是一種特殊的存儲過程,他在插入(inset)、刪除(delete)或修改(update)特定表中的數(shù)據(jù)時觸發(fā)執(zhí)行,下面這篇文章主要給大家介紹了關(guān)于MySQL觸發(fā)器使用的相關(guān)資料,需要的朋友可以參考下

1.為什么需要觸發(fā)器

有一些表是互相關(guān)聯(lián)的,比如說商品表和庫存表,我們對商品表的數(shù)據(jù)進行操作,那么對應(yīng)的庫存表還得發(fā)生變化,這樣才可以保證數(shù)據(jù)的完整。如果我們是自己手動維護的話,比較麻煩。

這個時候我們可以使用觸發(fā)器,創(chuàng)建一個觸發(fā)器,讓商品信息數(shù)據(jù)的插入操作自動觸發(fā)庫存數(shù)據(jù)的插入操作等,這樣我們就不需要擔(dān)心因為忘記添加庫存數(shù)據(jù)而導(dǎo)致數(shù)據(jù)丟失了。

2.觸發(fā)器概述

  • MySQL是從5.0.2版本開始支持觸發(fā)器的
  • MySQL的觸發(fā)器和存儲過程一樣都是嵌入到MySQL服務(wù)器的一段程序
  • 觸發(fā)器是由某一個事件來觸發(fā)某個操作,這些事件包括insert,delete,update事件
  • 若定義了觸發(fā)程序,那么數(shù)據(jù)庫執(zhí)行這些語句的時候,就相當(dāng)于事件發(fā)生,會自動激發(fā)觸發(fā)器執(zhí)行相應(yīng)的操作
  • 如果對數(shù)據(jù)庫中的表的數(shù)據(jù)進行插入等操作的時候,需要自動執(zhí)行一些數(shù)據(jù)庫邏輯的時候,我們可以用觸發(fā)器來實現(xiàn)。

3.觸發(fā)器的創(chuàng)建

3.1語法

觸發(fā)器是作用在表上的,比如說我們希望表A新增一條記錄的時候就觸發(fā) 觸發(fā)器的執(zhí)行,而且還要選擇觸發(fā)器是在insert語句執(zhí)行之前執(zhí)行觸發(fā)器還是之后。

for each row表明,每執(zhí)行一次事件(insert,update或delete)就會觸發(fā)一次觸發(fā)器

CREATE TRIGGER 觸發(fā)器名稱 
{BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON 表名 
FOR EACH ROW 
觸發(fā)器執(zhí)行的語句塊;

說明:

表名:表示觸發(fā)器監(jiān)控的對象。

BEFORE|AFTER:表示觸發(fā)的時間。BEFORE 表示在事件之前觸發(fā);AFTER 表示在事件之后觸發(fā)。

INSERT|UPDATE|DELETE:表示觸發(fā)的事件。

  • INSERT 表示插入記錄時觸發(fā);
  • UPDATE 表示更新記錄時觸發(fā);
  • DELETE 表示刪除記錄時觸發(fā)。

觸發(fā)器執(zhí)行的語句塊:可以是單條SQL語句,也可以是由BEGIN…END結(jié)構(gòu)組成的復(fù)合語句塊。

3.2 案例演示

先準(zhǔn)備表

CREATE TABLE test_trigger (
id INT PRIMARY KEY AUTO_INCREMENT,
t_note VARCHAR(30)
);


CREATE TABLE test_trigger_log (
id INT PRIMARY KEY AUTO_INCREMENT,
t_log VARCHAR(30)
);

要求:創(chuàng)建觸發(fā)器:創(chuàng)建名稱為before_insert的觸發(fā)器,向test_trigger數(shù)據(jù)表插入數(shù)據(jù)之前,向test_trigger_log數(shù)據(jù)表中插入before_insert的日志信息。

4.查看觸發(fā)器

查看觸發(fā)器是查看數(shù)據(jù)庫中已經(jīng)存在的觸發(fā)器的定義,狀態(tài)和語法信息等

方式一:查看當(dāng)前數(shù)據(jù)庫的所有觸發(fā)器的定義

show triggers\G 注意,在SQLyog中,不能加上\G

方式二:查看當(dāng)前數(shù)據(jù)庫中某一個觸發(fā)器的定義

show create trigger 觸發(fā)器名

方式三:從系統(tǒng)庫information_schema的TRIGGERS表中查詢“salary_check_trigger”觸發(fā)器的信息

SELECT * FROM information_schema.TRIGGERS;

5.刪除觸發(fā)器

觸發(fā)器也是數(shù)據(jù)庫對象,觸發(fā)器也是用drop語句來刪除

drop trigger if exists 觸發(fā)器名;

總結(jié)

到此這篇關(guān)于MySQL觸發(fā)器使用的文章就介紹到這了,更多相關(guān)MySQL觸發(fā)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mysql?InnoDB中B+樹索引使用注意事項

    Mysql?InnoDB中B+樹索引使用注意事項

    這篇文章主要為大家介紹了Mysql?InnoDB中B+樹索引的注意事項,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • mysql查看死鎖與去除死鎖示例詳解

    mysql查看死鎖與去除死鎖示例詳解

    這篇文章主要給大家介紹了關(guān)于mysql查看死鎖與去除死鎖的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Mysql讀寫分離過期常用解決方案

    Mysql讀寫分離過期常用解決方案

    這篇文章主要介紹了Mysql讀寫分離過期常用解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • Mysql建表與索引使用規(guī)范詳解

    Mysql建表與索引使用規(guī)范詳解

    本篇文章是對Mysql建表和索引使用規(guī)范進行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • InnoDb 體系架構(gòu)和特性詳解 (Innodb存儲引擎讀書筆記總結(jié))

    InnoDb 體系架構(gòu)和特性詳解 (Innodb存儲引擎讀書筆記總結(jié))

    下面小編就為大家?guī)硪黄狪nnoDb 體系架構(gòu)和特性詳解 (Innodb存儲引擎讀書筆記總結(jié))。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Windows10系統(tǒng)下MySQL(8.0.37)安裝與配置教程

    Windows10系統(tǒng)下MySQL(8.0.37)安裝與配置教程

    相信很多人都遇到過安裝Mysql的時候出現(xiàn)各種各樣的問題,下面這篇文章主要給大家介紹了關(guān)于Windows10系統(tǒng)下MySQL(8.0.37)安裝與配置的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • MySQL數(shù)據(jù)庫自增主鍵的間隔不為1的解決方式

    MySQL數(shù)據(jù)庫自增主鍵的間隔不為1的解決方式

    這篇文章主要介紹了MySQL數(shù)據(jù)庫自增主鍵的間隔不為1的解決方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • MySQL 分表優(yōu)化試驗代碼

    MySQL 分表優(yōu)化試驗代碼

    我們的項目中有好多不等于的情況。今天寫這篇文章簡單的分析一下怎么個優(yōu)化法。
    2010-04-04
  • mysql中You can’t specify target table for update in FROM clause錯誤解決方法

    mysql中You can’t specify target table for update in FROM clau

    這篇文章主要介紹了mysql中You can’t specify target table for update in FROM clause錯誤解決方法,需要的朋友可以參考下
    2015-02-02
  • mysql 5.7 安裝配置方法圖文教程

    mysql 5.7 安裝配置方法圖文教程

    這篇文章主要為大家分享了mysql 5.7 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02

最新評論

雷州市| 海丰县| 克东县| 尉犁县| 莱西市| 新竹县| 南宫市| 安福县| 夏邑县| 栾川县| 万源市| 大宁县| 浦城县| 龙游县| 西宁市| 城口县| 军事| 新营市| 抚远县| 玉林市| 白山市| 保定市| 泌阳县| 石阡县| 靖州| 健康| 平顶山市| 松江区| 东乡县| 土默特右旗| 休宁县| 广南县| 沭阳县| 阿巴嘎旗| 台南市| 淮南市| 固原市| 西安市| 罗源县| 宝坻区| 宁南县|