婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL 觸發器的使用和理解

MySQL 觸發器的使用和理解

熱門標簽:怎樣在地圖標注銷售區域 南昌三維地圖標注 百應電話機器人優勢 電話外呼系統改號 啥是企業400電話辦理 外呼系統打電話上限是多少 武漢網絡外呼系統服務商 地圖標注費用是多少 曲靖移動外呼系統公司

1.觸發器是什么?

一類特殊的數據庫程序,可以監視某種數據的操作(insert/update/delete),并觸發相關的操作(insert/update/delete),保護數據的完整性。

個人理解就有點類似于Java的觀察者模式,一個對象變化,觀察者也跟著做出響應。

Mysql好像是從5.0以后開始支持觸發器的。

2.創建觸發器

創建觸發器我將介紹兩種方式:用語句創建,用navicat創建。

創建觸發器的語法如下:

CREATE TRIGGER trigger_name trigger_time trigger_event ON tb_name FOR EACH ROW trigger_stmt
trigger_name:觸發器的名稱
tirgger_time:觸發時機,為BEFORE或者AFTER
trigger_event:觸發事件,為INSERT、DELETE或者UPDATE
tb_name:表示建立觸發器的表明,就是在哪張表上建立觸發器
trigger_stmt:觸發器的程序體,可以是一條SQL語句或者是用BEGIN和END包含的多條語句
所以可以說MySQL創建以下六種觸發器:
BEFORE INSERT,BEFORE DELETE,BEFORE UPDATE
AFTER INSERT,AFTER DELETE,AFTER UPDATE

其中,觸發器名參數指要創建的觸發器的名字

BEFORE和AFTER參數指定了觸發執行的時間,在事件之前或是之后

FOR EACH ROW表示任何一條記錄上的操作滿足觸發事件都會觸發該觸發器

創建多個執行語句的觸發器:

CREATE TRIGGER 觸發器名 BEFORE|AFTER 觸發事件
ON 表名 FOR EACH ROW
BEGIN
 執行語句列表
END

 NEW和OLD的使用:

觸發器類型 new和old的使用
insert new代表新增的數據
update new代表更新后的數據,old代表更新前的數據
delete old代表要刪除的數據

某一個字段可以用new/lod.字段名

接下來我們創建2個表用來測試:

stu表:主表(被觀察者)

DROP TABLE IF EXISTS `stu`;
CREATE TABLE `stu` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
`age` int(11) NULL DEFAULT NULL COMMENT '年齡',
`sort` int(11) NULL DEFAULT NULL COMMENT '排序字段',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

stu_log表:觸發器關聯表(觀察者)

DROP TABLE IF EXISTS `stu_log`;
CREATE TABLE `stu_log` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

現在我們假設有這樣一個業務,在stu表新增和刪除數據時,同步在stu_log中記錄日志,記錄name和時間。

如果不使用觸發器,我們就需要編寫代碼來實現這個需求,但是觸發器可以幫我們輕松的實現。

首先我們使用語句來創建一個insert觸發器:

DROP TRIGGER IF EXISTS `insert_log`;
delimiter ;;
CREATE TRIGGER `add_log` AFTER INSERT ON `stu` FOR EACH ROW BEGIN
INSERT INTO stu_log(name,create_time) VALUES(new.`name`,now());
END
;;
delimiter ;

執行結果:

然后我們再用navicat創建一個delete觸發器:

step1:右鍵stu表,選擇設計表----觸發器

step2:如圖所示填選,選擇刪除前觸發

step3:在下方定義框內寫執行語句,如圖   記得點保存!

語句:

begin
INSERT INTO stu_log(name,create_time) VALUES(old.`name`,now());
end

3.使用觸發器

測試一下:新增一條數據

insert into stu (name,age) VALUES('李白',36)

查看stu表和stu_log表:

 如圖,觸發器已經生效了!

測試刪除一條數據

DELETE from stu where name = '李白'

查看stu表和stu_log表:

如圖,觸發器已經生效了!

以上就是MySQL 觸發器的使用和理解的詳細內容,更多關于MySQL 觸發器的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • MySQL系列之五 視圖、存儲函數、存儲過程、觸發器
  • MySQL觸發器的使用
  • mysql觸發器trigger實例詳解
  • MySQL中觸發器和游標的介紹與使用
  • 一篇文章帶你深入了解Mysql觸發器

標簽:資陽 滄州 錦州 甘南 荊州 隨州 吉林 黑河

巨人網絡通訊聲明:本文標題《MySQL 觸發器的使用和理解》,本文關鍵詞  MySQL,觸發器,的,使用,和,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL 觸發器的使用和理解》相關的同類信息!
  • 本頁收集關于MySQL 觸發器的使用和理解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品一区一区三区| 夜夜夜精品看看| 91在线观看高清| 91一区二区在线观看| 国产精品免费观看视频| 精品一区中文字幕| 欧美电影一区二区三区| 中文字幕制服丝袜成人av| 九九视频精品免费| 亚洲精品一区二区三区99| 午夜视频一区二区三区| 99久久国产综合精品女不卡| 成人性生交大片免费看在线播放| 日韩午夜激情视频| 成人的网站免费观看| 一区二区视频在线| 精品国产一区二区三区忘忧草| 国产一区二区在线观看免费| 中文字幕av一区二区三区免费看| 99久久99久久久精品齐齐 | 国产精品亚洲第一| 久久精品国产免费| 国产欧美日韩视频一区二区| 欧美性色黄大片| 麻豆久久久久久久| 91精品在线一区二区| 亚洲国产一区二区a毛片| 99久久精品国产一区二区三区 | 欧美日韩卡一卡二| 亚洲免费三区一区二区| 色综合久久久久网| 激情综合网最新| 亚洲裸体xxx| 色综合天天综合网国产成人综合天| 亚洲精品一区二区精华| 色一情一伦一子一伦一区| 日本不卡高清视频| 亚洲国产日韩a在线播放性色| 精品一区二区在线免费观看| 亚洲免费电影在线| 亚洲精品综合在线| 亚洲精品成人天堂一二三| 天天免费综合色| 国产精品人成在线观看免费| 曰韩精品一区二区| 国产精品你懂的在线| 中文字幕不卡在线观看| 视频一区在线视频| 99久精品国产| 欧美丰满一区二区免费视频 | 欧美日韩国产成人在线91| 3atv一区二区三区| 成人av免费观看| 懂色一区二区三区免费观看| 欧美日韩国产在线观看| 激情综合网激情| 久久精品视频免费观看| 日韩视频永久免费| 亚洲精品自拍动漫在线| 日韩一区二区在线观看| 亚洲一区二区不卡免费| 欧美国产国产综合| 欧美在线高清视频| 亚洲免费av网站| 久久成人羞羞网站| 久久99最新地址| 丝袜亚洲精品中文字幕一区| 成人av动漫网站| 九一九一国产精品| 中文字幕一区二区三区视频| 国产在线看一区| 国产在线看一区| 国产三级三级三级精品8ⅰ区| 亚洲一区视频在线| 精品国产乱码久久久久久蜜臀| 亚洲免费观看在线视频| 日本精品一级二级| 久久日一线二线三线suv| 六月丁香综合在线视频| 中文字幕亚洲一区二区va在线| av电影在线观看完整版一区二区| 国产日韩欧美制服另类| 欧美精品久久99| 亚洲一区二区三区在线播放| 国产91丝袜在线播放九色| 在线精品视频免费播放| 精品三级在线观看| 国产精品麻豆网站| 欧美性生交片4| 亚洲国产美国国产综合一区二区| 精品国产乱码久久久久久免费| 亚洲欧美日韩国产一区二区三区| 欧美高清一级片在线| 亚洲成人自拍网| 精品成人私密视频| 91精彩视频在线| 亚洲一区二区三区中文字幕在线| 亚洲综合男人的天堂| 91麻豆精品国产91久久久久久久久| 午夜视频在线观看一区二区三区| 欧美成人欧美edvon| 国产亚洲欧美在线| 国产日产欧美一区| 亚洲国产精品综合小说图片区| 国产精品久久久久久久久晋中| 亚洲欧美另类图片小说| 亚洲一二三四在线| 夜夜嗨av一区二区三区网页 | www.欧美精品一二区| 免费亚洲电影在线| 日韩美女视频一区| 日韩在线一区二区| 亚洲欧美精品午睡沙发| 一区二区三区四区高清精品免费观看| 一本一道综合狠狠老| 蜜桃视频一区二区| 国产98色在线|日韩| 日本美女一区二区三区视频| 日韩av网站在线观看| 国产999精品久久久久久绿帽| 国产成人av电影免费在线观看| 国产一区二区日韩精品| 91丝袜高跟美女视频| 欧美系列亚洲系列| 亚洲欧美日韩小说| 日日夜夜免费精品| 国产精品99精品久久免费| 成人高清视频免费观看| 91蝌蚪porny九色| 中文字幕二三区不卡| 中文字幕亚洲综合久久菠萝蜜| 久久午夜电影网| 亚洲三级电影网站| 91亚洲永久精品| 91久久国产最好的精华液| 艳妇臀荡乳欲伦亚洲一区| 国产精品区一区二区三区| 另类小说色综合网站| 成人午夜碰碰视频| 日韩视频在线一区二区| 国产三级久久久| 卡一卡二国产精品| 日韩欧美国产一区二区在线播放 | 99国产精品国产精品久久| 国产成人精品一区二区三区网站观看| 久久亚洲一级片| 黄页视频在线91| 国产亚洲精品7777| 国产一区二区毛片| 91高清在线观看| 成人精品小蝌蚪| 一区二区三区欧美| 日韩免费在线观看| 精品国产一区二区精华| 亚洲线精品一区二区三区| 亚洲午夜电影在线观看| 老司机精品视频导航| 欧美影视一区二区三区| 69堂国产成人免费视频| 欧美久久久一区| 国产精品国产自产拍在线| 午夜精品久久久久久久99水蜜桃| 亚洲成人www| 美女爽到高潮91| 色综合咪咪久久| 亚洲精品乱码久久久久久日本蜜臀| 亚洲欧美另类在线| 久久99久久久久| 大美女一区二区三区| 国产高清在线观看免费不卡| 一本色道亚洲精品aⅴ| 国产精品午夜久久| 国产成人午夜精品5599| 欧美视频中文字幕| 亚洲一区二区成人在线观看| 国产成人免费在线视频| 国产亚洲一区二区三区四区| 成人av综合在线| 欧美日本精品一区二区三区| 久久精品久久综合| 欧美日韩欧美一区二区| 亚洲国产视频一区二区| 在线综合视频播放| 视频一区二区中文字幕| 欧美午夜精品久久久久久孕妇| 国产亚洲成aⅴ人片在线观看| 狠狠色综合色综合网络| 色综合咪咪久久| 福利一区在线观看| 18成人在线观看| 色婷婷av一区二区三区之一色屋| 91.麻豆视频| 亚洲成人一二三| 亚洲国产成人tv| 亚洲国产欧美日韩另类综合| 欧美日韩免费不卡视频一区二区三区| 另类欧美日韩国产在线| 国产午夜亚洲精品午夜鲁丝片| 欧美主播一区二区三区美女| 欧美性色欧美a在线播放|