久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

mysql 觸發器語法與應用示例

瀏覽:86日期:2023-10-15 07:44:17

本文實例講述了mysql 觸發器語法與應用。分享給大家供大家參考,具體如下:

例子:創建觸發器,記錄表的增、刪、改操作記錄

//創建user表;DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `account` varchar(255) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `address` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8; //創建對user表操作歷史表DROP TABLE IF EXISTS `user_history`;CREATE TABLE `user_history` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `user_id` bigint(20) NOT NULL, `operatetype` varchar(200) NOT NULL, `operatetime` datetime NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DELIMITER:改變輸入的結束符,默認情況下輸入結束符是分號;,這里把它改成了兩個分號;;,這樣做的目的是把多條含分號的語句做個封裝,全部輸入完之后一起執行,而不是一遇到默認的分號結束符就自動執行;

new:當觸發插入和更新事件時可用,指向的是被操作的記錄 old: 當觸發刪除和更新事件時可用,指向的是被操作的記錄

INSERT:

DROP TRIGGER IF EXISTS `tri_insert_user`;DELIMITER ;;CREATE TRIGGER `tri_insert_user` AFTER INSERT ON `user` FOR EACH ROW begin INSERT INTO user_history(user_id, operatetype, operatetime) VALUES (new.id, ’add a user’, now());end;;DELIMITER ;

UPDATE:

DROP TRIGGER IF EXISTS `tri_update_user`;DELIMITER ;;CREATE TRIGGER `tri_update_user` AFTER UPDATE ON `user` FOR EACH ROW begin INSERT INTO user_history(user_id,operatetype, operatetime) VALUES (new.id, ’update a user’, now());end;;DELIMITER ;

DELETE:

DROP TRIGGER IF EXISTS `tri_delete_user`;DELIMITER ;;CREATE TRIGGER `tri_delete_user` AFTER DELETE ON `user` FOR EACH ROW begin INSERT INTO user_history(user_id, operatetype, operatetime) VALUES (old.id, ’delete a user’, now());end;;DELIMITER ;

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數據庫鎖相關技巧匯總》及《MySQL常用函數大匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 翼城县| 中牟县| 安宁市| 嘉义县| 宜兰市| 中超| 布尔津县| 淮滨县| 汝城县| 黄石市| 浠水县| 鄂托克旗| 清苑县| 合水县| 金溪县| 裕民县| 天长市| 大理市| 临安市| 汉阴县| 乡宁县| 安徽省| 武鸣县| 泽州县| 扶余县| 筠连县| 清水县| 银川市| 天镇县| 永春县| 潞西市| 安阳县| 潜江市| 嘉祥县| 个旧市| 滨州市| 北安市| 合水县| 铜山县| 公安县| 曲水县|