0
我有一个基本上监视任何CSV文件的文件夹的Windows服务。 CSV文件中的每个记录都插入到SQL表中。如果相同的CSV文件放在该文件夹中,则可能会导致表中出现重复的记录条目。我怎样才能避免重复插入到SQL表中?避免重复的记录插入SQL表
我有一个基本上监视任何CSV文件的文件夹的Windows服务。 CSV文件中的每个记录都插入到SQL表中。如果相同的CSV文件放在该文件夹中,则可能会导致表中出现重复的记录条目。我怎样才能避免重复插入到SQL表中?避免重复的记录插入SQL表
尝试INSERT WHERE NOT EXISTS
,其中a
,b
和c
是相关列,@a
,@b
和@c
相关值。
INSERT INTO table
(
a,
b,
c
)
VALUES
(
@a,
@b,
@c
)
WHERE NOT EXISTS
(
SELECT 0 FROM table WHERE a = @a, b = @b, c = @c
)
如何检测“重复”记录,是否有像GUID这样的独特列,您可以比较旧的和新的,或者您需要检查每列是否相同。你也需要检查csv中的每一行是否是重复的或者只是不导入同一个文件两次? –
上传之前您是否对CSV文件执行了任何验证? –
斯科特,不幸的是表中没有主键。如何将CSV记录与整个SQL表行进行比较? –