C# 避免将重复记录插入SQL表

C# 避免将重复记录插入SQL表,c#,sql,C#,Sql,我有一个windows服务,它基本上监视任何CSV文件的文件夹。CSV文件中的每条记录都插入到SQL表中。如果将相同的CSV文件放在该文件夹中,可能会导致表中出现重复的记录条目。如何避免重复插入SQL表?尝试在不存在的地方插入,其中a、b和c是相关列,@a、@b和@c是相关值 INSERT INTO table ( a, b, c ) VALUES ( @a, @b, @c ) WHERE NOT EXISTS ( SELECT 0 FRO

我有一个windows服务,它基本上监视任何CSV文件的文件夹。CSV文件中的每条记录都插入到SQL表中。如果将相同的CSV文件放在该文件夹中,可能会导致表中出现重复的记录条目。如何避免重复插入SQL表?

尝试在不存在的地方插入
,其中
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文件执行过任何验证?Scott,很遗憾,表中没有主键。如何将CSV记录与SQL表的整行进行比较?是否存在合法的重复项?也就是说,同一行来自不同的源文件