快速定位错误目录:
目录
错误一:ERROR 1300 (HY000): Invalid utf8 character string: ''
错误二:ERROR 1265 (01000): Data truncated for column '商品重量' at row 2
错误三:ERROR 1366 (HY000): Incorrect integer value: '' for column '商品重量' at row 2
错误四:ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv
命令如下:
load data infile 'E:\\XSH\\MySQL\\Jan.csv'
into table test1
fields terminated by ','
ignore 1 lines
(交易订单号,实收金额,商品小计,商品编码,商品名称);
如果是要导入xlsx格式表格,则需要将其转换为csv格式,另存时选择工具-> web选项->编码。gb18030或2312即是gbk格式。
设置:
1. my.ini文件中
[mysqld]
port=3306
basedir=D:\mysql-8.0.13-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\XSH\GitRepos\MysqlDatabase
max_connections=200
max_connect_errors=10
;character-set-server=utf8
character-set-server=gbk
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
secure-file-priv=''
[mysql]
;default-character-set=utf8
default-character-set=gbk
[client]
port=3306
;default-character-set=utf8
default-character-set=gbk
重启mysql服务
2. 设置相应格式,以gbk为例:
show create table test1;
alter table test1 default character set gbk;
show variables like 'char%';
set character_set_database =gbk;
show variables like '%sql_mode%';
set SESSION sql_mode='';
show full columns from testtb;
show variables like '%secure%';
3. 注意mysql-front中要设置表格为gbk编码
另外,load data中,会出现很多让人意外的错误,而且没有通用的解决方式,及时错误一样,但是可能是不同的原因造成的。因此收集一下,以备后面需要。
错误一:ERROR 1300 (HY000): Invalid utf8 character string: ''
解决方案一:查看character并修改character_set_database和character_set_server为gbk,下图示中character_set_database就需要修改。
错误二:ERROR 1265 (01000): Data truncated for column '商品重量' at row 2
思路:这个应该是修改了某一列的数据类型,如我这里是修改了BigInt到double类型,网上有的说是把空值设置成0,即设置默认值为0,但是还是无法解决。最终还是只能将这个类型设置回BigInt类型。也许可以删掉这一列然后新建。
错误三:ERROR 1366 (HY000): Incorrect integer value: '' for column '商品重量' at row 2
解决方案一:查看sql_mode,如果有值,可以直接设置成空再重试。如下图情况可解决此问题。
错误四:ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv
解决方案一:使用show variables like '%secure%';查看当前值,如果没有secure-file-priv=''这一项,则需要在安装的mysql目录下找到my.ini文件,在[mysqld]中加入:
secure-file-priv=''
7分半导入78万行成功: