日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql触发器预约实例_Mysql触发器实例分析

發布時間:2023/12/20 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql触发器预约实例_Mysql触发器实例分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

所謂觸發器,就是在定義在表對象上。當觸發器所在的表出現指定的事件時,會觸發對應表的delete update insert的操作。說的有點繞口,其實就是到監視某種情況,然后去觸發某種操作。

觸發器是如何來進行定義的呢?

在定義時要注意四個基本的語法要素:

1 1.監視地點(某張table)2 2.監視事件(insert/update/delete)3 3.觸發時間(觸發時的時機after/before,在事件執行之后或者在事件執行之前)

4.觸發事件(insert/update/delete)4

5 具體語法:6 create trigger triggerName7 after/before insert/update/delete on 表名8 for each row #這句話在mysql是固定的9 begin10 sql語句;11 end;

實例的數據庫表的結構如下:

1 SET FOREIGN_KEY_CHECKS=0;2

3 -- ----------------------------

4 -- Table structure fortb_goods5 -- ----------------------------

6 DROP TABLE IF EXISTS `tb_goods`;7 CREATE TABLE `tb_goods` (8 `g_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品ID',9 `goodname` varchar(20) DEFAULT NULL COMMENT '商品名稱',10 `goodcount` int(11) DEFAULT NULL COMMENT '商品數目',11 PRIMARY KEY (`g_id`)12 ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;13

14

15 SET FOREIGN_KEY_CHECKS=0;16 -- ----------------------------

17 -- Table structure fortb_orders18 -- ----------------------------

19 DROP TABLE IF EXISTS `tb_orders`;20 CREATE TABLE `tb_orders` (21 `o_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '訂單ID',22 `g_id` int(11) DEFAULT NULL COMMENT '商品ID',23 `ordercount` int(11) DEFAULT NULL COMMENT '訂購數目',24 PRIMARY KEY (`o_id`)25 ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

解決如下幾個問題:

(1)當我們向訂單表中插入數據時,會將對應的商品的數目減少對應的數量,而不用手動去更新商品的數目。

初始的商品的數目:

1 insert into tb_orders(g_id,ordercount) values(1,2)2 #向訂單表中給商品編號為1的插入一條記錄,則對應的商品ID為1的數目減23 #商品的數目

(2)當我們刪除訂單表中數據時,會將對應的商品的數目恢復到對應的數量。

delete from tb_orders where g_id = 1 #刪除訂單表中 商品編號為1的訂單 則觸發商品ID為2的商品數目恢復原來

(3)更新訂單信息,則修改對應的商品的數目的信息

對應的觸發器:

數據庫中數據變化:

update tb_orders set ordercount =?2?where g_id =?1??#更新訂單表中商品id為1的訂單的數目 則觸發商品表中數目變化

總結

以上是生活随笔為你收集整理的mysql触发器预约实例_Mysql触发器实例分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。