python - MYSQL LOAD DATA INFILE 忽略具有非唯一值列的重复行

标签 python mysql csv

您好,我需要将一个 csv 文件加载到我的 mysql 表中。 csv如下:

水果,颜色,ut

苹果,绿色,2015-12-18

苹果,橘子,2015-12-18

所有 3 个 mysql 列都不能有唯一索引。 fruit_table如下:

id |fruit |color |ut

1 |苹果|绿色|2015-01-01

我想忽略数据库中已有的水果和颜色行。所以我的决赛 table 是:

+--------------------------------+
|      fruit   colour      ut    |
+--------------------------------+
| 1   apple   green   2015-01-01 |
| 2   apple   orange  2015-12-18 |
+--------------------------------+

我无法创建“水果”或“颜色”唯一值列。我尝试了很多变体

    LOAD DATA LOCAL INFILE 'fruit.csv'
    IGNORE 
    INTO TABLE fruit_table
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    (fruit,colour)

感谢您的帮助:)

最佳答案

在水果和颜色这两个字段上创建一个复合唯一索引。

ALTER TABLE fruit_table 
ADD UNIQUE KEY (`fruit` , `colour`) ;

关于python - MYSQL LOAD DATA INFILE 忽略具有非唯一值列的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34397480/

相关文章:

Python 卡在 pipe.stdin.write(image.tostring())

php - 查询生成器数字格式 codeigniter

php - 无法查看我的表,出现错误 "mysql_fetch_array() expects parameter 1 to be resource"

php - 将 mysql 结果存储在数组中(不回显),然后使用该数组设置另一个变量

python - 在python中将新行追加到csv

python - map 函数返回的列表在使用一次后消失

c++ - 关于语法错误的 Python 异常文本(boost 库)

python - 使用 selenium 库创建 Instagram Bot

python - 在另一个文件中搜索一个文件的行并在python中打印适当的行

ruby-on-rails-3 - 将 CSV 文件播种到 Rails 应用程序时遇到问题