mySQL加载数据本地infile不正确的数字格式

标签 mysql

我有一个格式如下的 csv 文件,

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';

然后“100,000,000”、“500,000”等数字被截断。

请帮助我!

最佳答案

从 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

关于mySQL加载数据本地infile不正确的数字格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7901149/

相关文章:

mysql - 我如何从(首先)一列然后(其次)另一列是特定开始时间来排序我的行?

java - 数据库记录被其他应用程序更改后,hibernate 查询无法获得正确的结果

mysql - sql-从链接创建类似目录的结构

php - 在数组中使用 foreach

MySQL Total Friends 找到多个最大值(如果存在)

java - SQL 注入(inject)从 Hibernate HQL 到 MySQL 的删除/删除

PHP/MySql 字段名称的未定义索引

mysql - 如何在 mysql 5.7 中使用 sum over partition (without window function)

mysql - 如何将这些行连接到同一个表中的一条记录中

mysql - 选择列表包含非聚合列