问题描述
我需要您的帮助来解决将.cv本地文件导入到MariaDB 10.3
数据库的问题。在我的服务器上,我正在运行PHP7.2。
要导入,请使用带有以下语句的PHP脚本:
exec("mysql -u Myuser -pMySrtongPassword -e \"USE MyDatabase;
TRUNCATE MyTable;
LOAD DATA LOCAL INFILE '/var/www/html/upload/file.csv' IGNORE INTO TABLE MyTable FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES ;\"; ");
这对于我需要导入的大多数.csv
文件都适用。但是,我有一些.csv
文件具有以下格式:
"field1"; "field2"; ..... "fieldN";
它们之间用分号分隔,并用引号分隔。
有人对如何正确导入这些文件有任何想法吗?
解决方法
在“加载数据”中添加OPTIONALLY ENCLOSED BY '\"'
TRUNCATE MyTable;
LOAD DATA LOCAL INFILE '/var/www/html/upload/file.csv' IGNORE INTO TABLE MyTable FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' IGNORE 1 LINES ;