两个相同的web应用,数据库中的表是相同的。
一个应用布署在上海,一个在北京。
现在希望对上海一张表的操作(通过后台程序)
如 
user 表
北京的user表也可以进行同步。
目前的思路是通过把操作的执行语句给记录下来。
如delete from user where username=xxx
然后发到另一台应用中执行。
注:思考不能通过id,因为id是序列生成的
    如果有以下情况:
    一:上海新增一个用户(test1 id为1)。执行语句没有发到北京(网络原因,我会把它记下)
    二:北京过了一会,也新增了一个的用户(test2 id为1)(这样两边test1与test2的id相同)
    三:上海过了一会,把我记下来的未发过去的语句发过去。
    四: 北京也新增了一个test1用户,id 为2
   那以后的删除修改,如果都是通过id会有问题,所以修改程序把根据username进行修改与删除。
==========================================================
以上是我的思路。
   可是这样子有点问题。
   1.修改user的时候,也可以修改用户名。(有点怪,等于我自己把主键修改了)
   2.实际程序中,user 表跟三张表 多对多 关连,就是有三张中间表。
     我如果在原程序中修改的话就要对这三张表关连的中间表的增,删,改进行修改了
   3.这三张表的 删,改也要进行修改,不通过 id
 以上的改动量大,涉及的地方也多。
 想请问一下有没有更好的思路来实现这种同步的功能????????????