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

时间:2015-12-21 14:01:08

标签: python mysql csv

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

果,颜色,UT

苹果,绿,二○一五年十二月一十八日

苹果,桔子,2015年12月18日

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

id | fruit | color | ut

1 | apple | green | 2015-01-01

我想要IGNORE已经在数据库中用于水果和颜色的行。所以我的决赛桌将是:

n

我无法制作'fruit'或'color'唯一值列。我尝试了很多种

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

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

在2个字段的水果和颜色上创建复合uniqe索引。

struct Calculate {
  template <typename F> int run(F && f) {
    return f(1, 2);
  }
};

int f1(int, int) { return 0; }

struct F2 {
  int operator()(int, int) { return 0; }
};

int main() {
  Calculate calc;
  // pass a C function pointer
  calc.run(f1);
  // pass a C++98 functor
  calc.run(F2());
  // pass a C++11 stateless lambda
  calc.run(+[](int a, int b) -> int { return a-b; });
  // pass a C++11 stateful lambda
  int k = 8;
  calc.run([k](int a, int b) -> int { return a*b+k; });
}