如何将新记录插入到sql中的现有表中?

xurqigkl  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(266)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

10个月前关门了。
改进这个问题
我创建了一个表,其中包含来自我编写的查询的数据。现在,在执行查询时出现的每一个新行都必须插入到这个表中。问题是我不知道如何“识别”这些新记录并将它们插入到现有表中。
如果我在一个唯一的表列上分配pk,并将整个查询输出插入到这个表中,那么会自动添加新记录,而忽略旧记录吗?pk能胜任吗?

zzoitvuj

zzoitvuj1#

基于这样的假设,customer、street和zipcode构成了一个唯一的键,您可以这样做:

insert into existing_table (customer, street, zipcode)
select customer, street, zipcode -- other columns
from query as new
where not exists (select null from existing_table as old where old.customer = new.customer and old.street = new.street and old.zipcode = new.zipcode)

因此,您只需要根据唯一键插入尚未存在的值。

dxxyhpgq

dxxyhpgq2#

好的,假设我有一个包含数据的原始(现有)表。现在,我执行查询,customer v作为一个附加行出现。我想将新行插入到现有表中:

我的查询和现有表中没有日期。我不知道怎么做这个手术。

相关问题