MySQL加载数据忽略行-如果(可选)设置了封闭

MySQL加载数据忽略行-如果(可选)设置了封闭,mysql,csv,load-data-infile,Mysql,Csv,Load Data Infile,我将从CSV文档导入一百万行到数据库表 为此,我使用MySQL加载数据填充 问题是,一切都非常好! 但是有一个问题,那就是有选择地用“.”括起来的行 CSV文件。 Name|Value\n Anna|\n Ben |Test\n Chip|"My ""special"" value"\n Deny|"I" like it\n East|You not\n LOAD DATA LOCAL INFILE 'test.csv' INTO TABLE `test` FIELDS TERMINA

我将从CSV文档导入一百万行到数据库表

为此,我使用MySQL加载数据填充

问题是,一切都非常好! 但是有一个问题,那就是有选择地用“.”括起来的行

CSV文件。

Name|Value\n
Anna|\n
Ben |Test\n
Chip|"My ""special"" value"\n
Deny|"I" like it\n
East|You not\n
LOAD DATA LOCAL INFILE 'test.csv'
INTO TABLE `test`
    FIELDS TERMINATED BY '|'
    ENCLOSED BY '"'
    LINES TERMINATED BY "\n"
    IGNORE 1 LINES
(`name`, @value)
    SET
        `value` = nullif(@value, '')
;
Query OK, 4 rows affected, 1 warning (0.17 sec)
Records: 4  Deleted: 0  Skipped: 0  Warnings: 1
+---------+------+--------------------------------------------+
| Level   | Code | Message                                    |
+---------+------+--------------------------------------------+
| Warning | 1265 | Data truncated for column 'value' at row 4 |
+---------+------+--------------------------------------------+
+----+------+------------------------+
| id | name | value                  |
+----+------+------------------------+
|  1 | Anna | NULL                   |
|  2 | Ben  | Test                   |
|  3 | Chip | My "special" value     |
|  4 | Deny | "I" like it
East|You  |
+----+------+------------------------+
MySQL命令。

Name|Value\n
Anna|\n
Ben |Test\n
Chip|"My ""special"" value"\n
Deny|"I" like it\n
East|You not\n
LOAD DATA LOCAL INFILE 'test.csv'
INTO TABLE `test`
    FIELDS TERMINATED BY '|'
    ENCLOSED BY '"'
    LINES TERMINATED BY "\n"
    IGNORE 1 LINES
(`name`, @value)
    SET
        `value` = nullif(@value, '')
;
Query OK, 4 rows affected, 1 warning (0.17 sec)
Records: 4  Deleted: 0  Skipped: 0  Warnings: 1
+---------+------+--------------------------------------------+
| Level   | Code | Message                                    |
+---------+------+--------------------------------------------+
| Warning | 1265 | Data truncated for column 'value' at row 4 |
+---------+------+--------------------------------------------+
+----+------+------------------------+
| id | name | value                  |
+----+------+------------------------+
|  1 | Anna | NULL                   |
|  2 | Ben  | Test                   |
|  3 | Chip | My "special" value     |
|  4 | Deny | "I" like it
East|You  |
+----+------+------------------------+
结果。

Name|Value\n
Anna|\n
Ben |Test\n
Chip|"My ""special"" value"\n
Deny|"I" like it\n
East|You not\n
LOAD DATA LOCAL INFILE 'test.csv'
INTO TABLE `test`
    FIELDS TERMINATED BY '|'
    ENCLOSED BY '"'
    LINES TERMINATED BY "\n"
    IGNORE 1 LINES
(`name`, @value)
    SET
        `value` = nullif(@value, '')
;
Query OK, 4 rows affected, 1 warning (0.17 sec)
Records: 4  Deleted: 0  Skipped: 0  Warnings: 1
+---------+------+--------------------------------------------+
| Level   | Code | Message                                    |
+---------+------+--------------------------------------------+
| Warning | 1265 | Data truncated for column 'value' at row 4 |
+---------+------+--------------------------------------------+
+----+------+------------------------+
| id | name | value                  |
+----+------+------------------------+
|  1 | Anna | NULL                   |
|  2 | Ben  | Test                   |
|  3 | Chip | My "special" value     |
|  4 | Deny | "I" like it
East|You  |
+----+------+------------------------+
警告。

Name|Value\n
Anna|\n
Ben |Test\n
Chip|"My ""special"" value"\n
Deny|"I" like it\n
East|You not\n
LOAD DATA LOCAL INFILE 'test.csv'
INTO TABLE `test`
    FIELDS TERMINATED BY '|'
    ENCLOSED BY '"'
    LINES TERMINATED BY "\n"
    IGNORE 1 LINES
(`name`, @value)
    SET
        `value` = nullif(@value, '')
;
Query OK, 4 rows affected, 1 warning (0.17 sec)
Records: 4  Deleted: 0  Skipped: 0  Warnings: 1
+---------+------+--------------------------------------------+
| Level   | Code | Message                                    |
+---------+------+--------------------------------------------+
| Warning | 1265 | Data truncated for column 'value' at row 4 |
+---------+------+--------------------------------------------+
+----+------+------------------------+
| id | name | value                  |
+----+------+------------------------+
|  1 | Anna | NULL                   |
|  2 | Ben  | Test                   |
|  3 | Chip | My "special" value     |
|  4 | Deny | "I" like it
East|You  |
+----+------+------------------------+
桌子。

Name|Value\n
Anna|\n
Ben |Test\n
Chip|"My ""special"" value"\n
Deny|"I" like it\n
East|You not\n
LOAD DATA LOCAL INFILE 'test.csv'
INTO TABLE `test`
    FIELDS TERMINATED BY '|'
    ENCLOSED BY '"'
    LINES TERMINATED BY "\n"
    IGNORE 1 LINES
(`name`, @value)
    SET
        `value` = nullif(@value, '')
;
Query OK, 4 rows affected, 1 warning (0.17 sec)
Records: 4  Deleted: 0  Skipped: 0  Warnings: 1
+---------+------+--------------------------------------------+
| Level   | Code | Message                                    |
+---------+------+--------------------------------------------+
| Warning | 1265 | Data truncated for column 'value' at row 4 |
+---------+------+--------------------------------------------+
+----+------+------------------------+
| id | name | value                  |
+----+------+------------------------+
|  1 | Anna | NULL                   |
|  2 | Ben  | Test                   |
|  3 | Chip | My "special" value     |
|  4 | Deny | "I" like it
East|You  |
+----+------+------------------------+
如何解决?

请注意:

我的问题不是警告

如果您看到:csv文件包含6行5行。(无标题)
此外,我需要mysql表中的5行/条目。我只有4个条目。

数据被截断为第4行的“value”列。警告消息表明您的字段值大于指定的大小。因此您必须将varchar的大小增加到值的最大长度。

您的csv文件无效:第5行包含<代码>“-char so(根据RFC-4180)

  • 该字段必须用双引号和
  • 字段内的引号必须重复
使用此选项,您可以通过将csv修改为成功导入

Name|Value
Anna|
Ben |Test
Chip|"My ""special"" value"
Deny|"""I"" like it"
East|You not

value
列的数据类型和大小是什么。如果你给出答案,那么你就得到了答案。
varchar[22]
-最长的一行是4。然后呢?“东边”的入口是什么?我在表中有4行,在csv文件中有5行。像
Truncate table test
一样截断表,然后重新加载csv文件。但是请看上面的表格结果。问题是,我认为如果a在a之后,那么这行必须以“…”结尾。。。我认为这就是问题所在。我认为您必须逐个调试才能从csv文件中放置和删除引号。我在上面添加了一个信息。问题不在于警告。