欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql 觸發(fā)器語法與應用示例

 更新時間:2020年05月18日 09:31:55   作者:人生如初見_張默  
這篇文章主要介紹了mysql 觸發(fā)器語法與應用,結合實例形式詳細分析了mysql 觸發(fā)器的基本語法與插入、更細、刪除等相關操作技巧,需要的朋友可以參考下

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

例子:創(chuàng)建觸發(fā)器,記錄表的增、刪、改操作記錄

//創(chuàng)建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;
 
//創(chuàng)建對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:改變輸入的結束符,默認情況下輸入結束符是分號;,這里把它改成了兩個分號;;,這樣做的目的是把多條含分號的語句做個封裝,全部輸入完之后一起執(zhí)行,而不是一遇到默認的分號結束符就自動執(zhí)行;

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

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數據庫如何正確設置主鍵

    MySQL數據庫如何正確設置主鍵

    主鍵是用于唯一標識數據庫表中每一行數據的一列或一組列,主鍵可以確保數據的唯一性和完整性,這篇文章主要給大家介紹了關于MySQL數據庫如何正確設置主鍵的相關資料,需要的朋友可以參考下
    2024-04-04
  • MySQL編碼不一致可能引起的一些問題

    MySQL編碼不一致可能引起的一些問題

    這篇文章主要給大家介紹了關于MySQL編碼不一致可能引起的一些問題的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 基于mysql多實例安裝的深入解析

    基于mysql多實例安裝的深入解析

    本篇文章是對mysql多實例安裝進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • 徹底卸載MySQL的方法分享

    徹底卸載MySQL的方法分享

    由于安裝MySQL的時候,疏忽沒有選擇底層編碼方式,采用默認的ASCII的編碼格式,于是接二連三的中文轉換問題隨之而來,就想卸載了重新安裝MYSQL,這一卸載倒是出了問題,導致安裝的時候安裝不上,在網上找了一個多小時也沒解決。
    2011-08-08
  • MyEclipse連接MySQL數據庫圖文教程

    MyEclipse連接MySQL數據庫圖文教程

    這篇文章主要為大家詳細介紹了MyEclipse連接MySQL數據庫圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Mysql和redis緩存不一致問題的解決方案

    Mysql和redis緩存不一致問題的解決方案

    在高并發(fā)的情況下,如果所有的數據都從數據庫中去讀取,那再強大的數據庫系統(tǒng)都承受不了這個壓力,因此我們會將部分數據放入緩存中,比如放入redis中,這篇文章主要給大家介紹了關于Mysql和redis緩存不一致問題的解決方案,需要的朋友可以參考下
    2022-08-08
  • 運用mysqldump 工具時需要注意的問題

    運用mysqldump 工具時需要注意的問題

    用mysqldump 導出 Trigger 的時候遇到一個問題,貼出來,以免大家犯錯。
    2009-07-07
  • mysql 8.0.16 winx64.zip安裝配置方法圖文教程

    mysql 8.0.16 winx64.zip安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 8.0.16 winx64.zip安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • mysql如何實現多行查詢結果合并成一行

    mysql如何實現多行查詢結果合并成一行

    利用函數:group_concat(),實現一個ID對應多個名稱時,原本為多行數據,把名稱合并成一行
    2013-12-12
  • mysql 5.7.21 winx64安裝配置方法圖文教程

    mysql 5.7.21 winx64安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 5.7.21 winx64安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02

最新評論