我有幾個數據庫,並且需要它們之間的交換數據。當我從數據庫A導入導出到數據庫B時,Id衝突將會發生。我想出兩種方法,沒有人讓我滿意。如何解決數據衝突
select max(id)然後創建新的id以避免衝突,但一列存儲json結構並且包含id太! (歷史原因)。所以我需要創建新的Id(主鍵)並修改該json列中的所有id。
或者我可以爲每個數據導入添加批處理信息。當我導入數據時,我發現sql中的每個id並在它們之前添加批處理id。如:
原來的DB,如:
ID COL_JSON
11 {id:11,name:xx ...}
我要插入一個新的紀錄:11,插入後,我的ID
現在分貝前添加了一批信息 「1000」貌似
ID COL_JSON
11 {id:11,name:xx ...}
100011 {id:100011,name:xx ...}
下一批將是1001,1002 1003 ......,所以,如果一個新的11條必須插入數據庫看起來像
ID COL_JSON
11 {id:11,name:xx ...}
100011 {id:100011,name:xx ...}
100111 {id:100111,name:xx ...}
儘管這兩種方法可以解決衝突,但我覺得這兩種方法都是愚蠢的。有一些優雅的計劃嗎?
你說的是數據庫同步方法嗎? – 2013-03-13 10:29:04
不同步的問題。我從應用程序A的數據庫和一些文件導出數據,然後導入到應用程序B(db&files) – mandatory 2013-03-13 10:42:55