C# 避免将重复记录插入SQL表
我有一个windows服务,它基本上监视任何CSV文件的文件夹。CSV文件中的每条记录都插入到SQL表中。如果将相同的CSV文件放在该文件夹中,可能会导致表中出现重复的记录条目。如何避免重复插入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
,其中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表的整行进行比较?是否存在合法的重复项?也就是说,同一行来自不同的源文件