我会尝试用例子来解释。 我有两个SQL数据库DB1和DB2,每个数据库都有相同的表。基本上一切都是相关的(主键是自动增量)但我们决定使用DB1作为主数据源,并使用DB1中的信息更新DB2。我可以使用merge但是DB2上的关系会发生什么?我需要删除所有内容并使用DB1而没有任何关系作为普通表和来自DB1的十个拉取信息?我需要保留与DB1相同的主键。如何使用相同的自动增量参数更新DB2?
示例:
TAB1
tab1_primary_key A B C
1 X1 X2 X3
2 X5 X1 X2
3 ...
TAB2
tab_2_primary tab1_foreign_key B D C
1 1 X1 X2 X3
2 2 X5 X1 X2
3 3 ...
答案 0 :(得分:1)
如果一切设置正确,Tab1中的主键应该在外键下的Tab2中反映出来。不要担心Tab2中的主键,因为它只是一个id。您可以删除foreign_key关系并仍然使用合并中的值。
此外,您可以为SQL Merge执行类似的操作:
foreach ($secondExample as $key => $valueArray)
echo count($valueArray) . PHP_EOL;