我正在处理使用句点'。'的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块中的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?
答案 0 :(得分:0)
使用csv中的查找和替换工具来取出。并替换为“”(无)然后当你加载它将自动为重量列下的该行输入NULL