【发布时间】:2014-02-11 08:57:34
【问题描述】:
我为客户创建了一个 csv 文件的导入器,我遇到的问题是文件中的十进制值被截断,例如:
in .csv file price is 12,23
and in database it is saved as 12.
我检查了这些字段,它们被设置为十进制(10,2),所以这不应该是常见的。我的加载文件代码是:
LOAD DATA LOCAL INFILE "U:/v7/root/file/docimport/3/87/article.csv"
INTO TABLE im_artikel
CHARACTER SET latin1 FIELDS TERMINATED BY ";" IGNORE 1 LINES
(article,price,grossprice);
show WARNINGS;
我得到一个错误:
1265 Data truncated for column 'price' at row 1
1265 Data truncated for column 'grossprice' at row 1
.csv 文件如下所示:
Shoes;40,00;21,46
我可以将所有字段更改为 varchar 而不是我没有问题,但我认为这不是解决方案。
【问题讨论】:
-
MySQL 使用
.作为小数分隔符,而不是,。 -
我对更改 60k 记录的数据感觉不太好:/
-
好吧,那太糟糕了。
-
只需在文本编辑器中打开它并运行全部替换? :)