我有一个包含两个主键的表first_name
和last_name
,还有大约10个其他列。我想使用另一个具有完全相同模式的表来更新它,但许多表具有要添加或更新到旧表的新值。什么是正确的SQL查询?
我到目前为止的代码是:
UPDATE OLD_DATA AS old
SET val_1 = new.val_1 ,
val_2 = new.val_2 ,
FROM NEW_DATA AS new
WHERE old.first_name = new.first_name
AND old.last_name = new.last_name
但这不会添加新数据,只会更新旧数据。
答案 0 :(得分:1)
Here是关于postgres更新的文档。
update old_data set val_1 = 5 and val_2 = 1
where first_name = 'donald' and last_name = 'duck'
对每行执行相同操作。