Linux下MySQL导入excel文件

it2022-05-05  126

首先将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';

最新回复(0)