亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql觸發器怎么定義與使用

發布時間:2022-12-01 10:08:25 來源:億速云 閱讀:124 作者:iii 欄目:開發技術

這篇“Mysql觸發器怎么定義與使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Mysql觸發器怎么定義與使用”文章吧。

一、觸發器的介紹

觸發器是與表有關的數據庫對象,指在insert/update/delete 之前或之后,觸發并執行

觸發器中定義的SQL語句集合。觸發器的這種特性可以協助應用在數據庫端確保數據的

完整性,日志記錄,數據校驗等操作。

使用別名old和new來引用觸發器中發生變化的記錄內容,這與其它的數據庫是相似的。

現在觸發器還只支持行級觸發,不支持語句級觸發。

  觸發器類型                   new和old
 insert型觸發器        new表示將要揮著已經新增的數據
 update型觸發器        old表示修改之前的數據,new表示將要或者已經修改后的數據
 delete型觸發器        old表示將要或者已經刪除的數據

二、觸發器的語法

 語法:
   1:創建觸發器語句
   create trigger 觸發器名稱 before/after  insert/update/delete on 表名 for each row
    begin
      sql語句
    end;
   這里的after和before表示的是增刪改之后還是之前觸發的
   2:查看觸發器語句
     show triggers;
   3:刪除觸發器
     drop trigger 數據庫名.觸發器的名字;(如果沒有指定數據庫的名字,那么默認是當前數據庫)

(1)insert觸發器

create table user_logs(
    opera_text varchar(1000) comment '插入的·內容',
    opera_time datetime comment '插入的時間',
    opera varchar(20) comment '操作的類型,insert/delete/update'
 );
create trigger tb_user_insert_tigger
    after insert on sp for each row
    begin
        insert into user_logs(opera_text, opera_time, opera)
        values(concat('插入的名字=',new.name,',插入的年齡=',new.age),now(),'insert');
    end;
show triggers;
insert into sp(age, name) values (100,'大魔王');

Mysql觸發器怎么定義與使用

(2)update觸發器

create trigger tb_user_update_trigger
    after update on sp for each row
    begin
        insert into user_logs(opera_text, opera_time, opera) values
        (concat('更新前的名字=',old.name,' 更新前的年齡=',old.age,' 更新后的名字=',new.name,' 更新后的年齡=',new.age),now(),'update');
    end;
show triggers;
update sp set age=1000 where name='李四';

Mysql觸發器怎么定義與使用

(3)delete觸發器

create trigger tb_user_delete_trigger
    after delete on sp for each row
    begin
        insert into user_logs(opera_text, opera_time, opera)
            values(concat('刪除的名字=',old.name,' 刪除前的年齡=',old.age),now(),'delete');
    end;
show triggers;
delete from sp where name='李四';

Mysql觸發器怎么定義與使用

以上就是關于“Mysql觸發器怎么定義與使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

澜沧| 广河县| 松溪县| 衡阳市| 佛冈县| 项城市| 登封市| 伊春市| 瓮安县| 定陶县| 南开区| 犍为县| 唐海县| 独山县| 科技| 老河口市| 武宁县| 昌宁县| 米脂县| 手游| 曲沃县| 五大连池市| 沙田区| 崇文区| 中西区| 玛沁县| 宜宾市| 沁阳市| 南通市| 汾西县| 隆子县| 尉氏县| 呼和浩特市| 彰化县| 东兰县| 图们市| 镇赉县| 龙陵县| 涞源县| 三亚市| 涞水县|