1)準備mysql
分別建立數據庫test1 test2 以及user_tb 表並初始化一些測試數據sql
create database test1;
create table test1.user_tb(
uuid varchar(32) primary key not null ,
name varchar(11) ,
password varchar(32)
);數據庫
create database test2;
create table test2.user_tb(
uuid varchar(32) primary key not null ,
name varchar(11) ,
password varchar(32)
);測試
2)如今test1 test2 有告終構相同的兩張表ui
2.1 向test1 插入數據時,同步到test2spa
-- --新建插入觸發器 insert_tg同步
use test1;table
DELIMITER $
create trigger tr_insert
after insert on user_tb
for each row
begin
INSERT INTO test2.user_tb(uuid,name,password) VALUES(new.uuid,new.name,new.password);
end$
DELIMITER ;test
2.2 更新test1 的user_tb 時,同步更新test2 user_tb date
-- -新建update觸發器 trigger
DELIMITER $
create trigger tr_update
after update on user_tb
for each row
begin
update test2.user_tb set name= new.name,password=new.password where uuid=new.uuid;
end$
DELIMITER ;
2.3 刪除
-- 新建刪除的觸發器 tr_delete
DELIMITER $
create trigger tr_delete
after delete on user_tb
for each row
begin
delete from test2.user_tb where uuid=old.uuid;
end$
DELIMITER ;
2.4 刪除觸發器
drop trigger insert_tg$;
最後附上mysql 觸發器的通用格式
DELIMITER $
create trigger trigger_name
after /before insert/update/delete on DB1.tableName for each row #這句話在mysql是固定的 begin sql 語句(能夠使用IF ELSE END IF來控制邏輯) end$ DELIMITER ;