【问题标题】:MySQL - Entries with duplicate unique fieldsMySQL - 具有重复唯一字段的条目
【发布时间】:2018-11-19 15:55:20
【问题描述】:

我在 MySQL 数据库中有两个整体。
参赛作品:

如您所见,它们具有完全相同的 slug。
但是如果我们看一下结构。
结构:

它有唯一的约束。自创建表以来就一直存在。 也没有任何改变。
我不认为这是可能的。我错过了什么吗?

编辑 - 测试空格
我实际上在这里发生了另一个例子: Instance 2
这是select distinct slug from listing的输出

Output

【问题讨论】:

  • SHOW CREATE TABLE your_table_name 的输出是什么?
  • 我们能看到 HEX(slug) 的输出吗
  • @Strawberry 看看下面答案上的 cmets,我们测试了区别
  • 我仍然认为 SHOW CREATE TABLE 可能有用

标签: mysql database unique


【解决方案1】:

我能想到的唯一解释是slug 列中的这两个值实际上与空格不同。假设前导/尾随空格是罪魁祸首,以下查询应确认:

SELECT DISTINCT slug
FROM yourTable;

如果这显示 两个 记录带有 comment-3,那么这两个 slug 值不同。现在尝试修剪两条记录:

SELECT DISTINCT TRIM(BOTH ' ' FROM slug) slug
FROM yourTable;

如果我的猜想是正确的,那么您现在应该只看到一个值。

【讨论】:

  • 它只显示一条记录,我会用这个信息更新我的帖子
  • 这里的“它”指的是什么?我的第一个查询还是我的第二个查询?
  • 对不起,第一次查询!
  • 您所描述的内容是不可能的。如果您对 slug 有唯一约束,则两条记录不能具有相同的值。
  • 我面前都有了,还有什么可以给你看的吗?
猜你喜欢
  • 2011-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-22
  • 1970-01-01
  • 2017-02-03
  • 2011-01-31
相关资源
最近更新 更多