我正在尝试将 .txt 文件上传到我刚刚创建的 sql 数据库中。
我能够使用 INSERT INTO
将多行数据加载到表中,但是当我尝试利用LOAD DATA LOCAL INFILE '/pathto/file.txt' INTO TABLE mytable
时,它首先给了我一个错误,即我的 mysql 版本不允许使用该命令。
所以在我读完 How can I correct MySQL Load Error 后,我用了--local-infile=1 -u mysqlname -p
接下来的上述命令我多次被授予语法错误。
我尝试使用上述各种不同组合来加载 .txt 文件,但仍然出现两个错误之一。
下面是屏幕截图。
这是 ubuntu 15.10 和 mysql 版本 5.6.28-0ubuntu0.15.10.1。
相关终端的屏幕截图
最佳答案
--local-infile
是服务器和客户端参数。作为 LOAD DATA 或 INSERT 语句等语句的一部分,它不是有效的语法。
您可以在 my.cnf 文件的相应部分中指定服务器变量和选项,或者作为正在执行的 MySQL 程序的命令行参数。
例如,在操作系统提示符下...
# mysql -h myserverhost -u mysqlname -p --local-infile=1
必须为 MySQL 服务器指定该选项。
如果您以 user@localhost 身份连接,则不需要 LOCAL。您可以授予 MySQL 用户(无论运行 mysql 服务器的操作系统用户)对要加载的文件的读取权限... chmod ugo+r/mypath/myfile
(并在路径中的目录。
如果 msyql 用户不是 @'localhost',则仅需要 LOCAL。
关于mysql - 我的语法中有什么错误阻止我将数据文件加载到 mysql 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36673095/