我只是将CSV批量复制到暂存数据库表中。如果您担心空间不足,可以稍后删除该表。
将CSV复制到例如StagingTable之后,诀窍是将其拆分为其他表。由于现在可以在数据库中引用您的CSV,因此您可以联接其他表以检索新表的ID:
insert into ContactGroupMapping
select cont.ID, grp.ID
from StagingTable stag
inner join Contacts cont on cont.UserID = stag.UserID
inner join Groups grp on grp.GroupID = stag.GroupID
一个更简单的解决方案是保留原始的GroupID和UserID。这样,填充GroupContactMapping就很容易了:
insert into ContactGroupMapping
select UserID, GroupID
from StagingTable stag