MySQL中的觸發器是由insert、update和delete等事件觸發某種特定操作,滿足觸發器的觸發條件,資料庫就會執行觸發器中定義的程式語句,並且觸發器的執行語句可能只有一個,也可能有多個。那怎麼實現創建觸發器,具體操作如下:
#1.首先,在資料庫world下找到“觸發器”,滑鼠右鍵“創建觸/發器”,彈出輸入新觸發器名稱,填入名稱“city_trigger”,
#如下:
# #2.輸入完畢,點選「建立」按鈕,產生city_trigger,
如下圖: ##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;
如下圖所示:
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 ;
如下圖所示:
5.修改`city_trigger`觸發器,點擊運行按鈕,並刷新資料庫,可以在觸發器文件夾下查看到`city_trigger`,##如下圖所示:
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如下圖所示:
7.由於t_tri_time不存在,導致出錯,接著建立t_tri_time資料庫表,
如下圖所示:
8.再次執行插入語句,結果成功;然後,查詢t_tri_time資料庫表,程式碼如下:
#
SELECT * FROM t_tri_time;如下圖所示:
#說明:
注意資料庫觸發器建立語法#了解資料庫表增刪改查語法以上是如何利用MySQL資料庫建立觸發器的詳細內容。更多資訊請關注PHP中文網其他相關文章!