mysql建立觸發器

2021-07-05 21:02:36 字數 866 閱讀 8173

注:觸發器中不能呼叫儲存過程,觸發器功能應盡量簡單

use d_database_name;-- 切換到資料庫

set names 'utf8';

-- drop if exists when update can use

drop trigger if exists tr_update_bind_sno;

delimiter //

create trigger tr_update_bind_sno

after update on t_order_19

foreach row

begin

-- 使用者註冊手機號

declare v_cellphone varchar(16);

-- old記錄更新前的狀態,new代表更新後的資料

ifold.c_bind_sno<>new.c_bind_sno

&& length(old.c_bank_card)>0

then

-- 獲取使用者註冊手機號

select c_cellphone into v_cellphone from t_user

where c_user_id=c_user_id;

-- 更新t_channel_account的綁卡標示和預留銀行手機號

update t_channel_account

set c_bind_number=old.c_bind_sno

,c_bank_cellphone=old.c_bank_cellphone

where c_user_id=old.c_user_id;

endif;end

//delimiter ;

my sql 觸發器 mysql建立觸發器

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

mysql建立觸發器

很多時候為了提高查詢效率,我們會在一些表當中增加冗餘字段,例如在客戶表裡面儲存用油卡號,但是如果客戶掛失原卡,申請了新的油卡,冗餘欄位就不正確了,這時候應該怎麼辦呢?我們可以建立乙個觸發器,當客戶插入新的油卡資料的時候同時更新客戶資料。delimiter create trigger update ...

mysql 建立觸發器

參考 建立觸發器的語法如下 create trigger trigger name trigger time trigger event on tbl name for each row trigger stmt trigger time 是觸發器的觸發時間,可以是before 或者after,be...