用关系更新两个表

时间:2016-02-18 15:26:30

标签: sql sql-server database

我会尝试用例子来解释。 我有两个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                    ...

1 个答案:

答案 0 :(得分:1)

如果一切设置正确,Tab1中的主键应该在外键下的Tab2中反映出来。不要担心Tab2中的主键,因为它只是一个id。您可以删除foreign_key关系并仍然使用合并中的值。

此外,您可以为SQL Merge执行类似的操作:

foreach ($secondExample as $key => $valueArray)
      echo count($valueArray) . PHP_EOL;