【问题标题】:load data infile with counting duplicate rows in mysql加载数据文件并计算mysql中的重复行
【发布时间】:2014-08-04 11:55:39
【问题描述】:

我有一个包含重复记录的单列 csv 文件。我有超过一万条记录。所以我正在使用 LOAD DATA LOCAL INFILE

示例数据:

ID

1
2
3
2
2
1
2

mysql 表被称为“小屋”。

我的第一个问题是,在 mysql 表“小屋”中插入数据时,是否可以计算每行有多少重复行。所以我希望看到如下填充的小屋表

ID    count

1     2
2     4
3     1

我的第二个问题是,如果上述情况不可行,那么我当前的工作代码将返回以下内容

ID

1 
2 
3 

$insert_query = "LOAD DATA LOCAL INFILE 'test.csv' 
                    INTO table huts
                    (id)
                    ";
    if (!mysql_query($insert_query)) {
         echo "Can't insert student record : " . mysql_error($connection);
    } else {
         echo "You have successfully insert records into huts table";
    }

表结构是

CREATE TABLE `huts` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=116 DEFAULT CHARSET=latin1

数据库存储引擎是'MyISAM'

没有声明唯一键,但是为什么查询忽略了重复的行。我希望查询应该插入所有行,无论是否有任何重复。

【问题讨论】:

  • 您唯一的字段是 auto_increment 字段?它的主键是什么?你问为什么它不插入重复......
  • 啊……抱歉,现在知道了。谢谢。关于第一个问题的任何想法。
  • 不是在插入时,而是在之后select Id, count(*) from table group by id
  • 然后我必须创建另一个表并插入带有 ID 的计数。

标签: php mysql load-data-infile


【解决方案1】:

如果您不关心重复数据,请从表格字段中删除自动增量和主键选项

【讨论】:

  • 谢谢古杰。对第二期进行了排序。
猜你喜欢
  • 1970-01-01
  • 2012-11-03
  • 1970-01-01
  • 1970-01-01
  • 2020-12-05
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 2012-02-17
相关资源
最近更新 更多