2010-02-08 32 views

回答

0

不,該路徑是服務器端的路徑。所以這個文件必須和MySQL服務器在同一臺機器上。

我不確定工作目錄,但它應該是數據庫文件所在的位置(/ var/...)。您可以使用絕對路徑來確保。

但是正如你所看到的,因爲不得不涉及服務器機器,這不是一個長期的解決方案。

+0

我如何找到? – Brian 2010-02-08 12:03:54

1

http://dev.mysql.com/doc/refman/5.1/en/load-data.html 看到開始

如果沒有指定LOCAL,則文件 必須位於服務器主機上,並 被服務器直接讀取的部分。該 服務器使用以下規則來 查找文件:

約一頁半下來。

基本上,你應該指定一個文件的完整路徑。相對路徑相對於MySQL服務器目錄。

如果你想從php運行的web服務器上傳文件到運行mysql的數據庫服務器(如果這些是不同的機器 - 通常它們是同一臺機器),顯然Mysql 5.1有一個機制這就是本地的目的。不過,我從來沒有使用過。

4

隨着LOAD DATA INFILE,文件名是相對於服務器。

隨着LOAD DATA LOCAL INFILE,該文件是相對於客戶端。

如果服務器和客戶端都駐留在同一臺計算機上,則可以使用LOAD DATA INFILE,因爲它可以更好地處理關鍵違規和其他錯誤。