Mysql 忽略基于列名下特定字段的行

Mysql 忽略基于列名下特定字段的行,mysql,Mysql,我有一个非常大的csv文件,其中包含多个字段,例如:msg\u id、事务类型、流名称、属性名称、属性值。我只需要将属性_name不等于“memo”的行加载到数据库中 我用于加载csv文件的代码段如下所示: LOAD DATA infile 'c:/tmp/UserData.csv' INTO TABLE UserData FIELDS terminated by ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE rows where att

我有一个非常大的csv文件,其中包含多个字段,例如:msg\u id、事务类型、流名称、属性名称、属性值。我只需要将属性_name不等于“memo”的行加载到数据库中

我用于加载csv文件的代码段如下所示:

LOAD DATA infile 'c:/tmp/UserData.csv'
INTO TABLE UserData
FIELDS terminated by ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE rows where attribute_name="memo";
我需要填写这个“忽略”条款。我该怎么办


非常感谢您的帮助。

这里我正在更新逻辑,但未经我验证,因此可能会抛出一些语法错误,但我们可以解决这个问题-

LOAD DATA INFILE 'c:/tmp/UserData.csv'
IGNORE INTO TABLE UserData
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(@id,field2,field3,....,fieldn) 
SET id = IF(attribute_name="memo", 1, @id);

逻辑:我们将主键值设置为1,其中wherever属性_name='memo',然后在插入时忽略重复的行,因为主键1已经存在,所以所有行都将被跳过。

从我对MySQL
LOAD DATA
语句的简要研究中,它的功能似乎不是很灵活。也就是说,仅仅读取所有数据,然后在之后删除带有
属性名称的记录会有什么问题吗?额外:为什么
加载数据
不如MySQL向数据库公开的操作强大的一个原因是,在CSV文件的情况下,数据尚未加载,因此不是关系数据。Tim,我需要在加载时忽略行,因为此属性名称已对包含所有可能字符的值进行哈希处理。我无法加载带有此类字符的记录,因此需要忽略这些行。