【问题标题】:"Violation of PRIMARY KEY constraint” when Inserting in database插入数据库时​​“违反 PRIMARY KEY 约束”
【发布时间】:2013-11-25 04:59:49
【问题描述】:

我正在尝试从 winform 在数据库中插入一条记录,它工作正常,并且插入前 5 条记录没有错误,但是当我尝试插入下一条记录时,它给了我违反主键的错误...。 !

桌子是

但是在数据库表中没有 6 的记录。 没有与此表关联的触发器。 该表没有 F-Key 关系。 我尝试从 sql server 插入它,但再次出错。 背后的原因是什么?

【问题讨论】:

  • 你能展示你的桌子吗?
  • 检查您尝试插入的第 6 条记录的 PK。似乎第 6 条记录使用了现有 PK 值之一。
  • @accessdenied 我使用 SELECT 语句检查记录是否存在.. 但没有记录。
  • 请向我们展示您拥有的数据,以及您正在尝试执行的 INSERT。

标签: c# sql winforms


【解决方案1】:

您的数据肯定有问题。请确保您没有插入“重复的 PK”。

而且在我看来,PK应该是自动生成的,除非你有什么特殊要求。

【讨论】:

  • @Colt 主键是自动生成的
【解决方案2】:

您可以通过不尝试插入具有重复主键的行来修复此错误。

【讨论】:

    【解决方案3】:

    主键应该是自动生成的。如果您收到此错误,请先检查您的数据。

    【讨论】:

      【解决方案4】:

      主键必须自己插入到表中,因为这也减少了有时我们尝试一次又一次插入相同键的代码错误机会,(这不是PK的属性)。

      也在数据库中:

       table> design> Primary Key> Properties>Identity specification> Yes
      

      这将启用自插入键,您也可以指定起始索引。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-17
        • 2020-09-17
        • 1970-01-01
        • 2014-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多