我正在制作一个优化路线的应用程序(有点像VRP)。用户必须能够复制所有输入数据,并对此数据进行更改。通过这种方式,他们能够找出对优化的影响。
因此我选择让他们能够复制所有输入数据,并且有点像数据的版本管理。
我想复制以下表格:
TableOne
ID UUID WEIGHT CODE
1 abc 15 AB
2 abd 5 AC
TableTwo
ID UUID SIZE TABLE1_FK
1 abe 1 1
2 abf 3 2
结果表(复制后):
TableOne
ID UUID WEIGHT CODE
1 abc 15 AB
2 abd 5 AC
3 abg 15 AB
4 abh 5 AC
TableTwo
ID UUID SIZE TABLE1_FK
1 abe 1 1
2 abf 3 2
3 abi 1 1
4 abj 3 2
到目前为止,我可以管理。但是现在当我想更新TableTwo的外键以指向TableOne中的复制行时,我就陷入困境。
我想做类似的事情:
UPDATE TableOne
SET TABLE1_FK =
(SELECT t.ID
FROM TableOne t
WHERE t.WEIGHT = (SELECT t.WEIGHT
FROM TableOne t1
WHERE ...)
)
这就是我被困的地方。 想要的结果是:
TableTwo
ID UUID SIZE TABLE1_FK
1 abe 1 1
2 abf 3 2
3 abi 1 3
4 abj 3 4
有什么建议吗?
答案 0 :(得分:0)
插入第一个表后,选择它@@ IDENTITY并使用它进行插入 在第二个表中作为外键。