一个管理系统,每天都会从另一个数据库中同步数据过来,与此同时用户在界面执行了保存操作,导致了数据重复,怎么解决?在数据同步和保存的同时,都对数据进行了是否已存在判断操作,恰好同步的同时,用户保存了。。。
开启数据库的事务处理
同步的时间长吗?不长的话试试这样,同步期间不让用户保存,把请求搁置,同步完后再保存.
不能某个时间点,用户不使用的时候同步嘛,这样做要么同步的时候,不执行保存。要么就换个用户不用的时间执行同步。
你从另一个数据库中同步数据过来,何不放在晚上去执行呢?等没人用系统的时候去同步不是更好?
数据同步和用户保存这个两个动作最好互斥才行,错开时间操作。
把数据库不允许重复的值设置为主键或者唯一值,如果这两个动作重复了,那么会有一个是失败的,这样就可避免重复了