Distribute synchronization data through triggers
Distribute synchronization data through triggers
Create table tab (id int not null primary key,name varchar 20, age int,address varchar 200)
Create table tab0 (id int not null primary key,name varchar 20, age int,address varchar 200)
Create table tab1 (id int not null primary key,name varchar 20, age int,address varchar 200)
Create table tab2 (id int not null primary key,name varchar 20, age int,address varchar 200)
Insert into tab values (1, recorder, recorder,)
Insert into tab values (2 recordings jiangzhongjia 40 phianghai`)
Insert into tab values (3 recordings wangzhongpai 31 phianghai`)
Delimiter / /
Create trigger tri_sync_insert
After insert on tab
For each row
Begin
Declare
V_result int
Set v_result=mod (new.id,3)
If v_result = 0 then
Insert into tab0 (id,name,age,address) values (new.id,new.name,new.age,new.address)
Elseif v_result = 1 then
Insert into tab1 (id,name,age,address) values (new.id,new.name,new.age,new.address)
Else
Insert into tab2 (id,name,age,address) values (new.id,new.name,new.age,new.address)
End if
End
/ /
Delimiter
Delimiter / /
Create trigger tri_sync_update
After update on tab
For each row
Begin
Declare
V_result int
Set v_result=mod (new.id,3)
If v_result = 0 then
Replace into tab0 (id,name,age,address) values (new.id,new.name,new.age,new.address)
Elseif v_result = 1 then
Replace into tab1 (id,name,age,address) values (new.id,new.name,new.age,new.address)
Else
Replace into tab2 (id,name,age,address) values (new.id,new.name,new.age,new.address)
End if
End
/ /
Delimiter
Delimiter / /
Create trigger tri_sync_delete
After delete on tab
For each row
Begin
Declare
V_result int
Set v_result=mod (old.id,3)
If v_result = 0 then
Delete from tab0 where id=old.id
Elseif v_result = 1 then
Delete from tab1 where id=old.id
Else
Delete from tab2 where id=old.id
End if
End
/ /
Delimiter