mysql 触发器(数据库的同步)

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 ;

相关文章
相关标签/搜索