【问题标题】:Composite primary key duplicate insert error despite reported value not existing尽管报告的值不存在,但复合主键重复插入错误
【发布时间】:2020-03-27 20:35:08
【问题描述】:

在具有复合主键 (datetime, bigint) 的表上使用 INSERT INTO 时出现重复键插入错误。我不知道为什么,因为报告的错误值不存在于我BULK INSERTED 的源 CSV 文件或我将修改后的 CSV 数据插入的表中。这是错误的内容:

消息 2627,级别 14,状态 1,过程 IT_Data.dbo.sp_ImportDriveAuditData,第 80 行 [批处理开始第 0 行]
违反主键约束“pkTimeQualifier”。无法在对象“dbo.DriveAuditData”中插入重复键。重复键值为(Mar 5 2020 12:00AM, 1192400537322090213)。

表中唯一具有相同唯一限定符的值的日期时间为 2020-03-05 00:00:01.730。在源 CSV 中也是如此。

time                        uniqueQualifier
------------------------------------------------
2020-03-05 00:00:01.730     1192400537322090213

有谁知道 SQL Server 是如何抛出此错误的,尽管插入不包含(2020 年 3 月 5 日上午 12:00,1192400537322090213)的指定复合键,并且 uniqueQualifier 完全唯一且第二次未使用?

非常感谢您对此问题的任何帮助。

【问题讨论】:

    标签: sql sql-server duplicates primary-key composite-primary-key


    【解决方案1】:

    您确定您的 csv 文件中没有重复项吗?使用 SQL Server,它所调用的内容并不总是问题所在。您应该能够在 excel 中打开 CSV 并验证没有重复值。

    另外,您能展示一下您的插入语句吗? 您可能会截断插入的值,使它们重复。

    【讨论】:

      猜你喜欢
      • 2020-12-25
      • 2018-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      相关资源
      最近更新 更多