【问题标题】:MySQL - find all duplicate recordsMySQL - 查找所有重复记录
【发布时间】:2014-05-28 20:48:51
【问题描述】:

我有一张有 55 列的表格。该表将使用 CSV 文件中的数据填充。我创建了一个 PHP 脚本,它读取 CSV 文件并插入记录。

在扫描 CSV 文件时,我注意到有些行是重复的。我想消除所有重复记录。

我的问题是,最好的方法是什么?我认为这将是以下两个选项之一:

  1. 从源头删除/跳过重复记录,即不会在表中插入重复记录。

  2. 插入 CSV 文件中的所有记录,然后查询表以查找并删除所有重复记录。

对于选项一,这是否可以使用 MS Excel 甚至仅使用文本编辑器来完成?

对于选项 2,我遇到了一些 possible solutions 但这肯定会导致相当大的查询。我正在寻找简短而简单的东西。这有可能吗?

【问题讨论】:

    标签: mysql csv


    【解决方案1】:

    一个好方法是为表定义一个键。键是一组字段,它们使每条记录都是唯一的,并且所有其他字段都依赖于它。 (在最坏的情况下,键将包含表中的所有列,但通常您可以定义一个较小的键)。然后,您可以使用数据库本身来强制执行该键,例如使用主键约束或唯一索引。

    【讨论】:

    • 您的意思是唯一键吗?我可以只创建一个键并在其中指定多个列吗?
    猜你喜欢
    • 2014-03-18
    • 2010-10-25
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    相关资源
    最近更新 更多