sql更新并返回插入上的重复行

时间:2017-03-12 20:48:47

标签: mysql sql

我有一张桌子:

id, SourceA_id, SourceB_id, data

数据可能来自sourceA或sourceB ID。我需要确定是否已经存在来自其他源的相同数据,然后使用correspoding sourceid更新所有行。这是一个例子:

 id, SourceA_id, SourceB_id, data
 1, null, 55, apple
 2, null, 55, banana
 3, null, 77, orange

现在添加了新信息

SourceA_id, data
33, apple

我现在想要更新id为1的行,因为它与新数据匹配

id, SourceA_id, SourceB_id, data
1, 33, 55, apple
2, null, 55, banana
3, null, 77, orange

它还应该更新与匹配行的SourceB_id匹配的所有行:

id, SourceA_id, SourceB_id, data
1, 33, 55, apple
2, 33, 55, banana
3, null, 77, orange

我不介意它是一步还是两步。

我知道它应该使用INSERT ... ON DUPLICATE KEY UPDATERETURNING

的某种组合

0 个答案:

没有答案