本文實例講述了MySQL觸發器簡單用法。分享給大家供大家參考,具體如下:
在保山等地區,都構建了全面的區域性戰略布局,加強發展的系統性、市場前瞻性、產品創新能力,以專注、極致的服務理念,為客戶提供網站制作、成都網站設計 網站設計制作定制網站開發,公司網站建設,企業網站建設,高端網站設計,成都全網營銷,外貿網站制作,保山網站建設費用合理。
mysql觸發器和存儲過程一樣,是嵌入到mysql的一段程序,觸發器是由事件來觸發的,這些事件包括,INSERT,UPDATE,DELETE,不包括SELECT
創建觸發器
CREATE TRIGGER name,time,event ON table_name FOR EACH ROW trigger_stmt
例如
有多個執行語句的觸發器
CREATE TABLE test1(a1 INT); CREATE TABLE test2(a2 INT); CREATE TABLE test3(a3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY); CREATE TABLE test4( a4 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b4 INT DEFAULT 0 ); DELIMITER // CREATE TRIGGER testref BEFORE INSERT ON test1 FOR EACH ROW BEGIN INSERT INTO test2 SET a2 = NEW.a1; DELETE FROM test3 where a3 = NEW.a1; UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1; END // DELIMITER ; INSERT INTO test3(a3) VALUES (NULL), (NULL), (NULL), (NULL), (NULL), (NULL),(NULL), (NULL), (NULL), (NULL), (NULL), (NULL); INSERT INTO test4(a4) VALUES (0), (0), (0), (0), (0), (0), (0), (0), (0), (0); //開始測試 INSERT INTO test1 VALUES (1), (3), (1), (7), (1), (8), (4), (4);
查看觸發器
SHOW TRIGGERS \G; //查看所有 SELECT * FROM information_schema.TRIGGERS where TRIGGER_NAME = 'testref';
刪除觸發器
DROP TRIGGER testref;
綜合案例
步驟1:創建persons表
CREATE TABLE persons (name VARCHAR(40), num int);
步驟2:創建一個銷售額表sales
CREATE TABLE sales (name VARCHAR(40), sum int);
步驟3:創建一個觸發器
CREATE TRIGGER num_sum AFTER INSERT ON persons FOR EACH ROW INSERT INTO sales VALUES (NEW.name,7*NEW.num);
步驟4:向persons表中插入記錄
INSERT INTO persons VALUES ('xiaoxiao',20),('xiaohua',69); SELECT * FROM persons; SELECT *FROM sales;
更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數據庫鎖相關技巧匯總》及《MySQL常用函數大匯總》
希望本文所述對大家MySQL數據庫計有所幫助。
網頁標題:MySQL觸發器簡單用法示例
網頁地址:http://vcdvsql.cn/article48/iijohp.html
成都網站建設公司_創新互聯,為您提供外貿網站建設、微信小程序、移動網站建設、網站收錄、建站公司、網站策劃
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯