gpt4 book ai didi

mysql - 删除查询抛出 : Error 1062 Duplicate entry 'X-Y' for key; but no duplicates in table

转载 作者:行者123 更新时间:2023-11-29 02:53:05 27 4
gpt4 key购买 nike

我在两列“user_id”和“project_id”上有一个复合唯一键。

当我尝试对单行或多行运行 DELETE 查询时,出现错误。

ERROR 1062: 1062: Duplicate entry '87-1736' for key 'index_on_user_id_and_project_id'

SQL Statement:
DELETE FROM `members` WHERE `id`='39142'

该表具有单列主键、2 个单列唯一索引(用于 user_id 和 project_id)以及 1 个关于 user_id 和 project_id 的复合唯一索引。数据库中没有外键。

  `id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL DEFAULT '0',
`project_id` int(11) NOT NULL DEFAULT '0',
`created_on` datetime DEFAULT NULL,
`mail_notification` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `index_on_user_id_and_project_id` (`user_id`,`project_id`),
KEY `index_members_on_user_id` (`user_id`),
KEY `index_members_on_project_id` (`project_id`)

此错误仅针对某些条目(很多条目)显示,并且始终是那些有问题的条目(例如上面显示的 87 和 1736 对)。

我尝试寻找重复项,但没有找到。我能够在其中找到一些字段中带有“0”的条目,然后我删除了这些条目。未找到 NULL 字段。

我试过:

  • 查找重复项,但没有找到。
  • 在索引字段中寻找零值或NULL值,已删除,但未解决
  • 去掉复合唯一索引,没有解决。
  • alter ignore table ... add unique index (user_id, project_id),没有发现重复项,抛出 IGNORE 被弃用的警告,并没有解决

如何删除这些有问题的条目?

最佳答案

delete 语句本身不可能产生重复键错误。至少,我想不出在一个完整的数据库中发生这种情况的任何方式。毕竟,如果您要删除一个值,它不能与另一个值冲突。

这就留下了发生其他事情的可能性。唯一合理的选择是桌面上的触发器。不幸的是,错误消息没有指定表名,但这是我很容易想到的唯一原因。

关于mysql - 删除查询抛出 : Error 1062 Duplicate entry 'X-Y' for key; but no duplicates in table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33534954/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com