文件位于Load Data Infile中的哪个位置?

时间:2010-02-08 11:58:28

标签: php mysql

如果我在PHP中使用Load Data Infile MySQL查询,文件位置相对于哪里?它与PHP文件是一个文件夹吗?

3 个答案:

答案 0 :(得分:4)

使用LOAD DATA INFILE,文件名相对于服务器。

使用LOAD DATA LOCAL INFILE,文件相对于客户端。

如果服务器和客户端都驻留在同一台计算机上,那么请使用LOAD DATA INFILE,因为它可以更好地处理密钥违规和其他错误。

答案 1 :(得分:1)

来自http://dev.mysql.com/doc/refman/5.1/en/load-data.html 请参阅开始的部分

  

如果未指定LOCAL,则为该文件   必须位于服务器主机上   由服务器直接读取。该   服务器使用以下规则   找到文件:

大约一页半。

基本上,您应该为文件指定完整路径。相对路径相对于MySQL服务器目录。

如果你想从运行php的web服务器上传文件到运行mysql的数据库服务器(如果这些是不同的机器 - 通常它们是同一台机器),显然Mysql 5.1有一个机制,这就是LOCAL的用途。不过,我从未使用过它。

答案 2 :(得分:0)

不,该路径是服务器端的路径。因此该文件必须与MySQL服务器在同一台机器上。

我不确定工作目录,但它应该是数据库文件所在的目录(/ var / ...)。您可以使用绝对路径来确定。

但正如您所看到的,因为必须涉及服务器机器,这不是一个长期的解决方案。