无法使用 C# 删除 SQL 服务器中的重复记录

Unable to delete duplicate record in SQL Server using C#

通过 windows 表单插入记录时,我不小心插入了两次记录,因为它没有反映在表单本身的数据网格视图中。现在我无法删除该重复记录。我试图添加唯一键,但该操作因该重复行而失败。我也尝试设置主键,但该操作也失败了。而且我无法手动将其从 table 中删除。报错信息如下:

Error Source: Microsoft.VisualStudio.DataTools.
Error Message: The row value(s) updated or deleted either do not make the row unique or they alter multiple rows(2 rows).

如何更新或删除该行?

首先,您必须添加评论中提到的唯一标识符,这不应该 做这件事是个大问题。

所有行都有一个唯一标识符(例如:ID)后,您将能够编写一个命令,根据具有较低数值的 ID 删除重复项。

执行命令前的一个例子table:

删除重复项的命令:

DELETE FROM YOURTABLE
WHERE  ID NOT IN (SELECT MAX(ID)
                  FROM   YOURTABLE
                  GROUP  BY OLD_DUPLICATE_VALUE
                  HAVING MAX(ID) IS NOT NULL) 

命令执行后的例子table:

如果您打算尝试,请确保您正确理解命令!如果您不知道自己在做什么,可能会有点危险。