mySQL的负载数据本地infile的数目不正确格式
我有格式化这样一个csv文件,mySQL的负载数据本地infile的数目不正确格式
sth, sth, "100,000,000", sth, "200,000"
sth, sth, "200,000,000", sth, "500,000"
当我使用
mysql> load data local infile "thefile.csv" into table mytable terminated by ',' enclosed by '"' lines terminater by '\r\n';
则号码如“亿”,“500000”是截断。
请帮帮我!
试试这个办法在PHP中:
$in = fopen('filename.csv', 'r');
while (($row = fgetcsv($in, 10000, ',', '"')) !== false) {
mysql_query("INSERT INTO ....");
}
fclose($in);
参考:fgetcsv
我不确定这是否会比OP的原始代码更好 - 看到问题可能是数字中的逗号 –
我认为它可行,这要归功于'$ enclosure ='“'' – JellyBelly
从CSV文件删除空格:
sth,sth,"100,000,000",sth,"200,000"
sth,sth,"200,000,000",sth,"500,000"
,并尝试使用该语句加载数据 -
LOAD DATA INFILE 'thefile.csv' INTO TABLE mytable
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
(column1, column2, @var1, column4, @var2) -- specify actual field names
SET column3 = REPLACE(@var1, ',', ''), column5 = REPLACE(@var2, ',', ''); -- remove thousand separators
非常感谢我为我工作。 – phucle
截断如何?你在加载数据的领域是什么样的领域? –