我有一个people
少于 100,000 条记录的表,并且我使用以下方法对该表进行了备份:
create table people_backup as select * from people
随着时间的推移,我向表中添加了一些新记录people
,但最终我想将备份表中的记录合并到people
. 不幸的是,我不能简单地DROP
使用我的表,因为我的新记录将会丢失!
因此,我想根据主键people
使用来自 的记录来更新表中的记录,并且我找到了两种方法来做到这一点:people_backup
id
伟大的!但是,这两种方法都使用SET
并让我指定要更新的列。不幸的是,我很懒,结构people
可能会随着时间而改变,虽然我的CTAS
语句不需要更新,但我的更新/合并脚本需要更改,这对我来说感觉像是不必要的工作。
有没有办法合并整行而不必指定列?我在这里看到,在遗嘱中不指定列INSERT
将直接 SQL 按顺序插入值,可以在这里应用相同的方法,这安全吗?
注意:表的结构在备份之间不会改变