我一直在寻找解决问题的方法,但没有找到解决方法。
我有一个文本文件(> 15万行),以制表符分隔。 带小数的数字带有逗号。 我的字段设置为FLOAT。
问题是MySql期望点作为小数点分隔符,而不是逗号,因此所有小数点都将被忽略。 我尝试使用不同的字符集,或者甚至尝试在导入过程中用点替换逗号,但是没有运气。
我的导入步骤
USE stat;
LOAD DATA LOCAL INFILE 'tbl_t1.txt' INTO TABLE `tbl_t1`
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' IGNORE 1 LINES;
我的原始数据
Partno grossw netw ......up to 132 col
Item1 1,4753 1,1325
Item2 0,1673 0,0184
Item3 2,1357 2,0361
一旦导入我就会得到
Item1 1 1 .........
Item2 0 0
Item3 2 2
尝试下面的代码时,我得到零行,我的表被清空
USE stat;
LOAD DATA LOCAL INFILE 'tbl_t1.txt' INTO TABLE `tbl_t1`
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' IGNORE 1 LINES
(@col1) SET grossw = REPLACE(@col1, ',' , '.');
更新 我发现了为什么要清空表,问题是我表中有132列,而@ col1只处理1列。我的上述只是一个例子。 我需要调查更多。
非常感谢您的帮助。 谢谢。