我在不连接到Internet的不同位置创建3个数据库。将master-detail MySQL表数据添加到另一个数据库
DB A是主办公室数据库
DB B是分支办公室1的数据库
DB C是分公司2数据库
每天晚上我需要从交易表数据从乙& C来复制转化为A.并在第二天早上将A数据复制到B & C中以使股票数据同步。
交易表由2个表组成
1。交易大师
| ID | TRX_NUMBER | DATE | CUSTOMER_ID |
2。交易详情
| ID | TRANSACTION_MASTER_ID | ITEM_ID |数量| PRICE |总计|
交易details.TRANSACTION_MASTER_ID是外键transaction-master.ID
的问题是transaction-master.ID是自动增量值,所以如何数据复制交易主&交易细节成A无间断交易大师&交易明细外键值?
因为如果在B上我的表有1作为transaction-master.ID值,那么当我将B数据插入到A中时,可能1已经在使用并且将变为2(因为是自动增量)并且会导致外键交易细节.TRANSACTION_MASTER_ID将打破
解决此问题的最佳做法是什么?
SOLUTION: 我得到从IRC, 使用 “auto_increment_offset” 和 “auto_increment_increment” MySQL的信道良好的解决方案上的MySQL
集auto_increment_offset答:1,B:2,C:3
上A,B集auto_increment_increment 3,和C
这样的主键决不会在每个分支上相同
嘛,点1是完全正确的,不带自动增量出现没有问题,但我已经建立自己的数据库,并完成代码.. 我有另一种解决方案更适合我的情况,该解决方案是在MySQL上使用“auto_increment_offset”和“auto_increment_increment” – frozenmaiden