无法重现插入表中的重复记录问题
本文关键字:记录 问题 插入 | 更新日期: 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
希望你明白我的意思