gpt4 book ai didi

mysql - 有没有办法在MySQL中设置代表 'n/a'的字符?

转载 作者:行者123 更新时间:2023-11-29 01:04:30 25 4
gpt4 key购买 nike

我正在处理一个使用句点“.”的 CSV 文件符号表示空值。例如,

item  weight  unit_price
1 5.1 10
2 . 20
3 7.5 30
4 . 40
5 2.0 50

这是读入 MySQL (v. 5.5) 中的一个表,使用:

CREATE TABLE products(
item SMALLINT NOT NULL,
weight float DEFAULT NULL,
unit_price SMALLINT);

LOAD DATA INFILE ".../data.txt"
IGNORE
INTO TABLE products
FIELDS TERMINATED BY ","
LINES TERMINATED BY "\r\n"
IGNORE 1 LINES;

LOAD DATA block 中的 IGNORE 关键字强制“.”为 0 - 有没有办法将其设置为 NULL?

我尝试过的唯一修复方法是:

LOAD DATA INFILE ".../data.txt"
IGNORE
INTO TABLE products
FIELDS TERMINATED BY ","
LINES TERMINATED BY "\r\n"
IGNORE 1 LINES
(item,
@weight,
unit_price
)
SET
weight = if(@weight = '.', NULL, @weight);

但是,我正在处理的实际数据有超过 1000 万行和 15 列,其中“.”用于表示空值。有没有更简洁的方法来默认为 null?

最佳答案

使用 csv 中的查找和替换工具取出 .并替换为“”(无)然后当你加载它时它会自动为重量列下的该行放入 NULL

关于mysql - 有没有办法在MySQL中设置代表 'n/a'的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10022139/

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