将CSV导入mysql数据库将丢失内容
我有一个Excel文件(.xlsx格式),我想将其导入数据库 我首先以.csv格式保存了它,并检查了拼写,因为我有一些字段的文本格式为罗马尼亚语,带有变音符号,没有问题 然后,我用列名创建了表,并使用phpMyAdmin导入了表,选择文件的将CSV导入mysql数据库将丢失内容,mysql,sql,excel,Mysql,Sql,Excel,我有一个Excel文件(.xlsx格式),我想将其导入数据库 我首先以.csv格式保存了它,并检查了拼写,因为我有一些字段的文本格式为罗马尼亚语,带有变音符号,没有问题 然后,我用列名创建了表,并使用phpMyAdmin导入了表,选择文件的字符集:utf-8,使用格式:CSV,使用LOAD DATA 它加载得很好,只是我丢失了所有罗马尼亚语的发音符号,并且我有一个包含文本的列,它不会导入所有文本,如果他找到罗马尼亚字母ex:(ă,–॓,ț),它就会停止。 我应该使用什么格式?对于罗马尼亚语,建议
字符集:utf-8
,使用格式:CSV,使用LOAD DATA
它加载得很好,只是我丢失了所有罗马尼亚语的发音符号,并且我有一个包含文本的列,它不会导入所有文本,如果他找到罗马尼亚字母ex:(ă,–॓,ț),它就会停止。
我应该使用什么格式?对于罗马尼亚语,建议使用utf-8。
编辑1:好的,威尔克帮我解决了这个问题,我想是这样的:
SET NAMES utf8;
LOAD DATA INFILE '/home/public_html/db/test_db.csv' INTO
TABLE test_db FIELDS
TERMINATED BY ';'
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n';
但现在我有一个新的错误
#1045-拒绝用户“用户”@“本地主机”的访问(使用密码:是)。:) 试试看:
设置名称utf8
将其放在加载数据之前的行中
您的完整SQL应该如下所示:
SET NAMES utf8
LOAD DATA INFILE 'file.csv' INTO TABLE your_table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
记住,由运算符终止的
字段是您的字段分隔符您制作的表格中存储文本的列的字符集为utf8?在执行加载数据之前是否尝试过设置名称utf8
?@Stephan是,设置为存储utf8\u常规_ci@Wilq我应该这么说吗?@tmanolescu你应该执行死刑在使用phpMyAdmin的导入函数加载同一mysql会话中的数据之前,正确的slq是什么?像这样的?设置名称utf8将数据本地填充“/home/temp/testdb/test_db.csv”加载到表test_db
以“;”结尾的字段中由“'\'转义,由'\\'行终止'\r\n'现在我的文件在服务器上的home/public\u html/db中,因此正确的路径是:SET NAMES utf8 LOAD DATA infle'home/public\u html/db/file.csv'到表中您的表字段由'\r\n'终止'
?@Wilq y,忘了放抱歉:P