MySQL - 查找所有重复记录

时间:2014-05-28 20:48:52

标签: mysql csv

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

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

我的问题是,这样做的最佳方法是什么?我认为它将是这两个选项中的一个:

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

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

  3. 对于选项一,是否可以使用MS Excel甚至只使用文本编辑器?

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

1 个答案:

答案 0 :(得分:2)

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