服务器的为A库,是内网,执行了增删改操作,我本机的为库B,是原A库的副本,B库在本机也执行增删改操作,A、B两库所执得的增删改是不同的,当我回到内网后,想要运行一个程序,使A、B两库中的的增删改操作的结果同步更新到A库中。
比如A库中的表1有两条记录
表1:id name money
1 test1 500
2 test2 100
B库中的表1原始记录与上面一样:
执行插入操作后:
B库表1:id name money
1 test1 500
2 test2 100
3 test3 100
但这时主库的也执行了一条插入操作
A库的表1变成
表1:id name money
1 test1 500
2 test2 100
3 test4 1000
这时这两个库中的表如何同步呢!这是插入,还有更新,删除等一系统的操作呢?
比如A库中的表1有两条记录
表1:id name money
1 test1 500
2 test2 100
B库中的表1原始记录与上面一样:
执行插入操作后:
B库表1:id name money
1 test1 500
2 test2 100
3 test3 100
但这时主库的也执行了一条插入操作
A库的表1变成
表1:id name money
1 test1 500
2 test2 100
3 test4 1000
这时这两个库中的表如何同步呢!这是插入,还有更新,删除等一系统的操作呢?
B库脱机的时候只允许增加,联机的时候才允许增删改
A库无限制插入语句:
insert into At1
select * from Bt1
where not exists(select 1 from At1 where At1.id = Bt1.id)