mysql 觸發器簡單應用

2021-10-06 20:01:29 字數 2567 閱讀 1064

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...