c語言 mysql觸發器 MySql 觸發器操作

2021-10-18 18:42:11 字數 1502 閱讀 8251

觸發器

觸發器是一段與某個表相關的sql語句,會在某個時間點,滿足某個條件後自動觸發執行。

支援的時間點:時間發生前before和發生後after

支援的事件:

update 可用old訪問舊資料,new訪問新資料

delete 可用old訪問新資料

insert 可用new訪問新資料

可以將new和old看做乙個物件,其中封裝了這列資料的所有字段

建立觸發器

delimiter // 重定義行結束符

create trigger t_name t_time t_event on table_name for each row

begin

sql語句

end//

delimiter ;

# delimiter 用於修改預設的行結束符,由於在觸發器中有多條sql語句,他們需要使用分號來結束,但是觸發器是乙個整體,所以需要先更換預設的行結束符

# t_name 觸發器名

# t_time 時間點 before|after

# t_event 事件 delete|update|insert

# table_name 表名

檢視觸發器

show triggers; # 檢視所有觸發器

show create trigger 觸發器名; # 檢視建立指定的觸發器語句

刪除觸發器

drop trigger 觸發器名;

舉例#準備資料

create table cmd (

id int primary key auto_increment,

user char (32),

priv char (10),

cmd char (64),

sub_time datetime, #提交時間

success enum ('yes', 'no') #0代表執行失敗

#錯誤日誌表

create table errlog (

id int primary key auto_increment,

err_cmd char (64),

err_time datetime

# 建立觸發器

delimiter //

create trigger insert_t after insert on cmd for each row

begin

if new.success = 'no' then

insert into errlog(err_cmd,err_time) values(new.cmd,new.sub_time);

end if;

end//

delimiter ;

show triggers; # 檢視所有的觸發器

show create trigger insert_t; # 檢視建立觸發器insert_t的語句

drop trigger insert_t; # 刪除觸發器insert_t

觸發器 mysql觸發器

觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...

my sql 觸發器 mysql建立觸發器

首先,我們來了解一下什麼是觸發器,觸發器,就是在對一張表資料進行增 insert 刪 delete 改 update 的時候,為了保持資料的一致性,對別的表也要進行相應的資料修改。我們都知道mysql最後事務提交後,資料是會儲存到磁碟上的,那麼每次在insert,delete,update時候舊資料...

my sql 觸發器 MySQL檢視觸發器

檢視觸發器是指檢視資料庫中已經存在的觸發器的定義 狀態和語法資訊等。mysql 中檢視觸發器的方法包括 show triggers 語句和查詢 information schema 資料庫下的 triggers 資料表等。本節將詳細介紹這兩種檢視觸發器的方法。show triggers語句檢視觸發器...