我正在尝试使用mysql终端将csv文件导入mysql数据库,似乎没有任何工作我得到错误1064或者在我按Enter后没有任何反应。
到目前为止,我已经尝试过:
mysql -uusername -ppassword dbname -e "LOAD DATA INFILE 'C:/Users/Administrator/Downloads/file.csv' INTO TABLE test FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (field1, field2, field3)";
如果我没有输入就没有任何作用;最后,并与;我收到错误1064错误的语法。
我也尝试过:
mysql -u username -p password -h localhost dbname
use dbname
LOAD DATA INFILE 'C:/Users/Administrator/Downloads/file.csv' INTO TABLE test FIELDS TERMINATED BY ',' ENCLOSED BY '"' (field1, field2, field3);
这是正确的吗?
我正在使用以下语句,这是我收到的错误消息:
mysql->mysql -u username -ppassword
->use database
->LOAD DATA LOCAL INFILE 'C:/datafeed.csv'
->INTO TABLE table_name
->FIELDS TERMINATED BY ','
->LINES TERMINATED BY '\n'
->(field1, field2, field3);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql -u username -ppassword use database LOAD DATA LOCAL INFILE 'C:/datafe' at line 1
答案 0 :(得分:0)
LOAD DATA语句本身的语法看起来正确......
如果MySQL服务器安装在Windows机器上,并且指定的文件存在且在服务器上可读,则它看起来很合适。 (LOCAL
之前没有INFILE
关键字,因此说文件位于服务器计算机上,而不是客户端计算机上。)
你展示的第一件事就是尝试过,我认为LOAD DATA
语句中的双引号字符实际上是终止了字符串,也就是说,它与双重字符串“匹配”在LOAD DATA
之前引用。
您报告您收到1064错误的事实使您看起来可以连接到MySQL服务器。
我用于在服务器计算机上运行mysql命令行客户端的表单:
mysql -u user -ppassword database
(请注意,-p和密码之间没有空格。)
我有点困惑,MySQL服务器是否实际在Windows机器上运行,如果你在CMD.EXE窗口中运行......我没有提供足够的信息来确定它。