gpt4 book ai didi

最后一个 CSV 列中的 MySQL NULL 可能

转载 作者:行者123 更新时间:2023-11-29 07:25:45 26 4
gpt4 key购买 nike

我想将 CSV 文件导入 MySQL 5.7 并加载 NULL 值。

我已阅读 MySQL load NULL values from CSV data

如果我使用相同的示例表和数据,它工作正常。但是,如果我尝试导入以下数据:

1,2,3
1,2,3,4,
1,2,3,4,5

那么输出是:错误代码:1366。不正确的整数值:'' for column 'five' at row 2

建表脚本:

create table moo(
one int not null,
two int not null,
three int null,
four int null,
five int null);

我对可空列使用 nullif 表达式:

LOAD DATA INFILE '/test-moo.txt' INTO TABLE moo 
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
(one, two, @vthree, @vfour, @vfive)
SET three = nullif(@vthree,''),
four = nullif(@vfour,''),
five =nullif(@vfive,'');

这是一个错误还是我遗漏了什么?似乎只有最后一列出了问题。

最佳答案

我找到了问题的答案。行分隔符似乎不正确。我在 Windows 环境下工作,所以它应该是 \r\n 而不是 \n

所以改正后就变成了这样,并正确处理:

LOAD DATA INFILE '/test-moo.txt' INTO TABLE moo 
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'
(one, two, @vthree, @vfour, @vfive)
SET three = nullif(@vthree,''),
four = nullif(@vfour,''),
five =nullif(@vfive,'');

关于最后一个 CSV 列中的 MySQL NULL 可能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53887540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com