代码之家  ›  专栏  ›  技术社区  ›  qdot

使用phpmyadmin管理重复项

  •  0
  • qdot  · 技术社区  · 15 年前

    我正在寻找一个工具,可以让我轻松地管理MySQL数据库中的重复条目。

    在某种意义上,我不想使我的列“唯一”,但我想查看恰好在列中具有相同值的记录。

    如果我能创建这样一个SQL查询,它只显示使用常规接口的记录,那就太好了。

    4 回复  |  直到 11 年前
        1
  •  3
  •   wimvds    15 年前

    要获取重复项,只需在表上使用自联接:

    select t1.id, t2.id, t1.value
    from table t1
    inner join table t2 on t1.value=t2.value
    where t1.id < t2.id
    

    T1.ID<T2.ID将确保每个副本只出现一次。

        2
  •  3
  •   hollsk    15 年前

    应该可以通过查询选择它们:

    select myColumn, count(myColumn) as myCount from myTable group by myColumn having myCount > 1 order by myCount; 
    
        3
  •  0
  •   sdtechcomm    15 年前
        4
  •  0
  •   Jungle Editor    11 年前

    在上面的wimvds答案中;phpmyadmin显示以下警告:

    当前所选内容不包含唯一列。网格编辑、复选框、编辑、复制和删除功能不可用。

    要启用编辑/复制/删除,第一行可以更改为:

    select t1.id, t1.value 
    

    select t2.id, t2.value
    

    因此,您可能希望使用wimvds的查询来检查重复项(可能与其他字段一起),然后使用第二个查询来编辑或删除重复记录。

    (也许还有一种方法可以列出重复项;在相邻的行中,并且可以编辑?)