mysql觸發器學習日誌

2021-08-04 10:54:30 字數 2041 閱讀 3211

觸發器和儲存過程,函式的寫法很像,但是不同的是觸發器並不需要手動呼叫,而是在設定條件後由系統自動呼叫,下面我們做乙個關於users表的增刪改觸發器。

1.先建立乙個users表和儲存觸發器工作日誌的rizhi表

2.然後分別建立三個觸發器:增刪改

delimiter $$

drop trigger t1 $$

create trigger `pubs`.`t1` before insert

on `pubs`.`users`

for each row begin

-- set new.userpwd='***';

insert into rizhi(shijian,zuozhe,doi,leixing)

values (now(),user(),concat('錄入了姓名:',new.username,'錄入了密碼:',new.userpwd),'增加');

end$$

delimiter ;

特別注意的是將第三行為before的前提下,可以設定只要往users表增添資料,無論手動輸入的是什麼,最後增添成功的都是乙個定值。

delimiter $$

drop trigger t3 $$

create trigger `pubs`.`t3` before delete

on `pubs`.`users`

for each row begin

insert into rizhi (shijian,zuozhe,doi,leixing)

values(now(),user(),concat('刪除了姓名:',old.username,'刪除了密碼:',old.userpwd),'刪除');

end$$

delimiter ;

delimiter $$

drop trigger t2 $$

create trigger `pubs`.`t2` before update

on `pubs`.`users`

for each row begin

insert into rizhi(shijian,zuozhe,doi,leixing)

values (now(),user(),concat('更新了姓名:',new.username,'更新了密碼:',new.userpwd,'從舊名字',old.username,'舊密碼',old.userpwd),'更新');

end$$

delimiter ;

3.下面測試結果展示

然後執行

delete from users
結果展示:

觸發器 mysql觸發器

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

Mysql學習 觸發器

觸發器是一類特殊的事務,可以監視某種資料操作 insert delete update 並觸發相應操作 insert delete update 使用場景 1 當向一張表中新增或刪除記錄時,需要在相關表中進行同步操作 2 當表上某列資料的值與其他表中的資料有聯絡時。3 當需要對某張表進行跟蹤時 二 ...

mysql 觸發器學習

mysql 觸發器學習 1.乙個簡單的例子 1.1.建立表 create table t s1 integer 1.2.觸發器 delimiter create trigger t trigger before insert on t for each row begin set x hello t...