无法重现插入表中的重复记录问题

本文关键字:记录 问题 插入 | 更新日期: 2023-09-27 18:08:49

我有一个sql server表。在向表中插入记录时,有时会在两行中插入具有相同值的副本,但无法复制

示例:my 2行表

C1   C2      C3   C4
157 Job157  158 Illumina Parking Building 1 
158 Job157  158 Illumina Parking Building 1 

无法重现插入表中的重复记录问题

调试

  • 在表上创建一个唯一的约束,该约束覆盖所有列。
  • 用调试器运行代码
  • 设置调试器在遇到异常时中断
  • 当它重复时,调试器会告诉你第二次插入是什么代码。
  • 一旦您解决了这个问题,请考虑是否希望保留唯一的约束

如果它只在生产环境中重复,那么您需要执行上述操作,但记录所有异常。

了解主键,有一个主键很可能会导致第二次插入失败,从而在代码中显示问题。

我期望页面被刷新,或者按钮被多次按下,但没有看到调试器中发生了什么,这些只是猜测。

你需要检查一些字段的重复值,除了标识列您可能正在刷新从中添加此数据的页面。

if not exists (select 1 from your table where c2=@"C2's parameter" )
begin
 insert operation
end
else
begin
raieerror already exists
end

希望你明白我的意思