after/before表記錄操作之後還是之前記錄到日誌表
create
table
`tbl_student0101`
(`name`
char(20
)default
null
,`age`
int(11)
default
null
,`tel`
char(11
)not
null
,primary
key(
`tel`))
engine
=innodb
default
charset
=latin1;
#觸發器日誌表
drop
table
ifexists student001_logs;
create
table student001_logs
( id int
notnull
auto_increment
primary
key,
operate_type char(20
)not
null
default'',
operate_para varchar
(500
)not
null
default'',
operate_tm timestamp
null
default
'1970-01-02 00:00:00'
);
#表記錄新增後觸發器,new代表新增記錄物件
drop
trigger
ifexists stu_insert_trgg;
create
trigger stu_insert_trgg
after
insert
on tbl_student0101
for each row
begin
insert
into student001_logs(operate_type, operate_para, operate_tm)
values
('insert'
, concat(
'insert info-'
,'name:'
, new.name,
', age:'
, new.age,
', tel:'
, new.tel)
,now()
);end;
#表記錄修改後觸發器,old代表修改前記錄物件,new代表修改後記錄物件
drop
trigger
ifexists stu_update_trgg;
create
trigger stu_update_trgg
after
update
on tbl_student0101
for each row
begin
insert
into student001_logs(operate_type, operate_para, operate_tm)
values
('update'
, concat(
'update before info-'
,'name:'
, old.name,
', age:'
, old.age,
', tel:'
, old.tel,
'|update after info-'
,'name:'
, new.name,
', age:'
, new.age,
', tel:'
, new.tel)
,now()
);end;
#表記錄刪除觸發器,old代表刪除記錄物件
drop
trigger
ifexists stu_delete_trgg;
create
trigger stu_delete_trgg
after
delete
on tbl_student0101
for each row
begin
insert
into student001_logs(operate_type, operate_para, operate_tm)
values
('delete'
, concat(
'delete info-'
,'name:'
, old.name,
', age:'
, old.age,
', tel:'
, old.tel)
,now()
);end;
mysql觸發器簡單應用
建立儲存過程之前首先看mysql資料庫有沒開啟觸發器事件服務,否則無法建立觸發器.檢視方式 show variables like scheduler variable name value event scheduler off 如果顯示上面的結果就說明未開啟服務,需要在my.ini配置檔案的my...
觸發器 mysql觸發器
觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...
MySql觸發器應用總結
1,個人理解 觸發器,從字面來理解,一觸即發的乙個器,簡稱觸發器 哈哈,個人理解 簡單理解就是,滿足一定條件就可觸發某個操作。2,官方定義 觸發器 trigger 是個特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對乙個表進行操作 insert,delete,upd...