首頁  >  文章  >  資料庫  >  如何利用MySQL資料庫建立觸發器

如何利用MySQL資料庫建立觸發器

黄舟
黄舟原創
2017-08-08 14:54:262881瀏覽

MySQL中的觸發器是由insert、update和delete等事件觸發某種特定操作,滿足觸發器的觸發條件,資料庫就會執行觸發器中定義的程式語句,並且觸發器的執行語句可能只有一個,也可能有多個。那怎麼實現創建觸發器,具體操作如下:

如何利用MySQL資料庫建立觸發器

#1.首先,在資料庫world下找到“觸發器”,滑鼠右鍵“創建觸/發器”,彈出輸入新觸發器名稱,填入名稱“city_trigger”,

#如下:

如何利用MySQL資料庫建立觸發器

# #2.輸入完畢,點選「建立」按鈕,產生city_trigger,

如下圖:

如何利用MySQL資料庫建立觸發器

##3.為了不影響其他表格結構,這裡新建一張資料庫表t_city_info,程式碼如下:

CREATE TABLE `world`.`t_city_info`(  
  `id` INT(8) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `city_code` INT(4) COMMENT '城市编码',
  `city_name` VARCHAR(20) COMMENT '城市名称',
  `city_detail` VARCHAR(100) COMMENT '描述',
  PRIMARY KEY (`id`)
) CHARSET=utf8;

如下圖所示:

如何利用MySQL資料庫建立觸發器

如何利用MySQL資料庫建立觸發器

4.資料庫表t_city_info建立完畢後,修改觸發器程式碼,程式碼如下:

DELIMITER $$

USE `world`$$

DROP TRIGGER /*!50032 IF EXISTS */ `city_trigger`$$

CREATE
    /*!50017 DEFINER = 'root'@'localhost' */
    TRIGGER `city_trigger` BEFORE INSERT ON `t_city_info` 
    FOR EACH ROW BEGIN
    INSERT INTO  t_tri_time VALUES (NOW());
    END;
$$

DELIMITER ;

如下圖所示:

如何利用MySQL資料庫建立觸發器

5.修改`city_trigger`觸發器,點擊運行按鈕,並刷新資料庫,可以在觸發器文件夾下查看到`city_trigger`,

##如下圖所示:

如何利用MySQL資料庫建立觸發器6.然後,先t_city_info中插入一條數據,程式碼如下:

然后,先t_city_info中插入一条数据,代码如下:
INSERT INTO t_city_info (
  id,
  city_code,
  city_name,
  city_detail
) 
VALUES
  (1000, 100, '武汉', '武汉市') ;

點擊執行後,出現錯誤,錯誤程式碼如下:

1 queries executed, 0 success, 1 errors, 0 warnings
查询:insert into t_city_info ( id, city_code, city_name, city_detail ) values (1000, 100, '武汉', '武汉市')
错误代码: 1146
Table 'world.t_tri_time' doesn't exist
执行耗时   : 0 sec
传送时间   : 0 sec
总耗时      : 0.012 sec
如下圖所示:

如何利用MySQL資料庫建立觸發器
7.由於t_tri_time不存在,導致出錯,接著建立t_tri_time資料庫表,

如下圖所示:

    如何利用MySQL資料庫建立觸發器


8.再次執行插入語句,結果成功;然後,查詢t_tri_time資料庫表,程式碼如下:

#

SELECT * FROM t_tri_time;
如下圖所示:


如何利用MySQL資料庫建立觸發器

#說明:1如何利用MySQL資料庫建立觸發器

注意資料庫觸發器建立語法

#了解資料庫表增刪改查語法

以上是如何利用MySQL資料庫建立觸發器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn