版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
首先将excel文件导出为utf-8格式的csv文件(excel里面不需要表头,只需要数据就行),
(划重点)然后用notepad++打开后,选择"编码"选项中"使用ANSI编码"后保存上传至服务器.
一般安装的MySQL编码格式都是UTF-8,可通过show variables like 'char%';
查看.若和下图一致,则不需要设置:
否则请参照这里设置编码(完全按照这篇文章会导致文件编码不对而无法导入,区别在上面划重点那里)
然后创建数据库→创建表(一定要设置主键primary key):
create table shop_product (id int primary key auto_increment,
typename varchar(30),
name varchar(30),
price double(5,2),
photos varchar(255));
若创建表时失误删除表时报不能设置外键(foreign key)错误可参照如下方法解决:
这可能是MySQL在InnoDB中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。
SET FOREIGN_KEY_CHECKS = 0;
删除完成后设置
SET FOREIGN_KEY_CHECKS = 1;
一般会遇到文件权限的问题,报错如下:
"ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement"
此时可通过show variables like "secure_file_priv";
查看可导入mysql的安全文件位置.一般为"/var/lib/mysql-files/",可将文件复制到此目录下.
然后导入数据
load data infile "/var/lib/mysql-files/3.csv" into table school_area character set utf8 fields terminated by "," lines terminated by '\r\n';