【问题标题】:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '25' for key 'tbl_item_item_ID_UNIQUE'SQLSTATE [23000]:完整性约束违规:1062 键 'tbl_item_item_ID_UNIQUE' 的重复条目 '25'
【发布时间】:2015-11-12 16:41:38
【问题描述】:

我有一个名为 inventory 的表,它有 04 个字段。它们是qtyinventory_dateTimetbl_item_item_IDtbl_branch_branch_ID

tbl_item_item_IDtbl_branch_branch_ID 都是主键,当前表分别有 (1000 ,2015-11-12 19:01:04 ,25 ,2) 值。

我想为同一个表添加其他数据,tbl_item_item_IDtbl_branch_branch_ID 的值将是 (25 ,3)

[这只是意味着将另一个分支的第 25 个 item_id 添加到库存中]

但它给了

SQLSTATE[23000]:违反完整性约束:1062 键“tbl_item_item_ID_UNIQUE”的重复条目“25”

我将如何解决这个问题?请帮帮我。

【问题讨论】:

  • 旁注:您提出了很多问题,但尚未接受任何答案。这个网站是双向的。如果你期待帮助,你应该通过接受他们的回答来奖励那些帮助你的人。阅读How does accepting an answer work? 并开始回馈社区。​​span>
  • @Fred Ops 对不起,我不知道我会这样做.. 谢谢你的建议..

标签: php sql pdo


【解决方案1】:

此违规意味着您正在尝试插入与现有密钥重复的条目。或者简单地说 bl_item_item_ID = 25 已经存在于表中,因为这是一个唯一的 id 列,它不能被复制(如果你应该有该列的重复条目,那么你的问题可能是你有 tbl_item_item_ID 和 tbl_branch_branch_ID 作为2 个唯一 ID,但您需要一个由 2 列组成的唯一 ID)

【讨论】:

  • 是的,我知道,但我已将 tbl_item_item_ID、tbl_branch_branch_ID 添加为主键。因此,将两者放在一起时不会重复,是否有任何查询认为这两个字段一起是主键?
  • 如果您对数据库使用任何 GUI,您可以查看表的键。如果您有 2 个唯一键,那是错误的,您应该拥有一个由 2 个元素组成的键。如果您没有使用任何 GUI,请尝试使用:dev.mysql.com/doc/refman/5.7/en/show-index.html
【解决方案2】:

好的,这里是我已经添加的表格描述和重新排序的图片。

现在我想添加一些值作为 item_ID = 25 和 branch_ID = 3 的新记录(新行)

【讨论】:

  • 好的,我看到你正在使用 PhpMyAdmin。在表结构选项卡中,您应该看到类似索引的内容(不太记得该工具的布局,但无论如何,当您查看索引时,您应该看到类似的内容: unique_id1: tbl_item_item_ID,tbl_branch_branch_ID 而不是 unique_id1:tbl_item_item_ID, unique_id2:tbl_branch_branch_ID
  • 感谢我自己发现了一个问题。我在这里将 item_ID 添加为唯一,同时 item_ID 和 branch_ID 是主键,因为我无法为 item_ID 重复添加相同的键。现在我将其删除并感谢您的所有努力..!非常感谢...
猜你喜欢
  • 2016-05-23
  • 2020-12-20
  • 1970-01-01
  • 2016-03-10
  • 2016-01-16
  • 2021-05-30
  • 2019-01-18
  • 2013-05-10
  • 2014-09-16
相关资源
最近更新 更多