MySql导入CSV空间问题
我有一个数据文件,看起来像:MySql导入CSV空间问题,mysql,csv,import,Mysql,Csv,Import,我有一个数据文件,看起来像: 001,000,D,Bla bla bla 0 0 1 | 0 0 0 | D | B l a b l a b l a 我使用以下代码将其导入mysql数据库: LOAD DATA LOCAL INFILE 'D:\test.dat' INTO TABLE typen FIELDS TERMINATED BY ',' IGNORE 1 LINES; LOAD DATA LOCAL INFILE 'D:\test.dat' INTO
001,000,D,Bla bla bla
0 0 1 | 0 0 0 | D | B l a b l a b l a
我使用以下代码将其导入mysql数据库:
LOAD DATA LOCAL
INFILE 'D:\test.dat'
INTO TABLE typen
FIELDS TERMINATED BY ','
IGNORE 1 LINES;
LOAD DATA LOCAL
INFILE 'D:\test.dat'
INTO TABLE typen
CHARACTER SET 'utf8'
FIELDS TERMINATED BY ','
IGNORE 1 LINES;
我每行都会收到警告:
Warning | 1265 | Data truncated for column 'typ1' at row 1
当我查看表格内容时,每个字符之间都有一个空格。看起来是这样的:
001,000,D,Bla bla bla
0 0 1 | 0 0 0 | D | B l a b l a b l a
我遗漏了什么吗?问题是文件的编码。我没有找到此文件的正确编码,因此我在记事本++中打开了它,将编码更改为utf8,并使用以下代码:
LOAD DATA LOCAL
INFILE 'D:\test.dat'
INTO TABLE typen
FIELDS TERMINATED BY ','
IGNORE 1 LINES;
LOAD DATA LOCAL
INFILE 'D:\test.dat'
INTO TABLE typen
CHARACTER SET 'utf8'
FIELDS TERMINATED BY ','
IGNORE 1 LINES;
文件是8位还是一些可怕的Unicode格式?每个csv内容的类型是否与mysql表的相应字段类型匹配?我不知道文件的格式,但可能存在问题。表中的字段大小为3,3,1256,但由于多余的空间,csv内容无法放入其中。我也有类似的问题——但我的csv文件是在windows中从excel保存的,并在linux vm中加载到mysql中——问题是行尾——在文本编辑器中打开并设置为linux行尾以更正。