我有两张桌子如下。
表A:
ResultID(PK) | ImportDate | Comment1
-------------------------------------
101 | 25-09-2019 | One
101 | 25-09-2019 | Two
103 | 25-09-2019 | Three
103 | 25-09-2019 | Four
----------------------------------------
表B:
ResultID(PK) | ImportDate | Comment2
-------------------------------------
101 | 26-09-2019 | new one
101 | 26-09-2019 | new two
104 | 26-09-2019 | new three
104 | 26-09-2019 | new four
--------------------------------------
所以输出应该是
表A:
ResultID(PK) | ImportDate | Comment1
-------------------------------------
101 | 26-09-2019 | new one
101 | 26-09-2019 | new two
103 | 25-09-2019 | Three
103 | 25-09-2019 | four
104 | 26-09-2019 | new three
104 | 26-09-2019 | new four
--------------------------------------
问题:我想得到如上所述的结果表A如果ResultID在表A和表B之间匹配,我想从表B更新表A中该ResultID的所有列。如果表B中的ResultID不在表A中,请将其插入表A。并且不是表A的主键。和条目将是唯一的,就像特定ResultID的两个条目一样。
最佳答案
只需使用一个简单的“内部连接”,如下所示:
DELETE TableA
FROM TableA
INNER JOIN TableB ON TableA.ResultID = TableB.ResultID;
然后简单地使用insert语句。
关于php - 在MySQL中使用“SET”且没有主键但条目相同的两个表之间的多列更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58135630/