使用此指令:
LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
这是您的txt的路线:
'/tmp/test.txt'
您将 txt 转储到名为 test 的表上。
您的 txt 应具有以下结构:
Toby, 245, LA
Carl, 246, CA
对于这样的结果:
Toby NULL LA
Carl 246 NULL
txt 应该是这样的:
Toby, NULL, LA
Carl, 246 , NULL
那是因为未指定 FIELD SCAPED BY。
来自 Mysql 文档:
NULL 值的处理因使用的 FIELDS 和 LINES 选项而异:
对于默认的 FIELDS 和 LINES 值,NULL 被写入为 \N 的字段值用于输出,而 \N 的字段值被读取为 NULL 用于输入(假设 ESCAPED BY 字符为“\”)。
如果 FIELDS ENCLOSED BY 不为空,则将包含文字 NULL 作为其值的字段读取为 NULL 值。这与包含在 FIELDS ENCLOSED BY 字符中的单词 NULL 不同,后者被读取为字符串“NULL”。
如果 FIELDS ESCAPED BY 为空,则将 NULL 写入单词 NULL。由 ',' 分隔的 3 个字段 \n .....您的表测试应该具有相同的结构