2013-06-28 69 views
2

我想在MySQL LOAD DATA LOCAL INFILE文件路徑中包含一個用戶變量。我們的小團隊經常從Dropbox訪問原始數據文件,因此每個人都必須在路徑定義中查找/替換用戶名。MySQL加載數據本地Infile - 作爲用戶變量的路徑

我期待下面的工作,但不斷收到語法錯誤:

SET @USER := 'user'; 
SET sql_mode='PIPES_AS_CONCAT'; 
LOAD DATA LOCAL 
INFILE '/Users/' || @USER || '/Dropbox/Data/data.csv' 

而且失敗CONCAT()。有任何想法嗎?謝謝!

類似的問題在這裏問:Load data Infile @variable into infile error但沒有接受答案。

回答

0

MySQL documentation引文:

文件名必須作爲一個字符串。在Windows上,在路徑名稱中將反斜槓指定爲正斜槓或反斜槓。 character_set_filesystem系統變量控制文件名的解釋。

這意味着它不能是一個準備好的語句,存儲過程或任何「服務器端」參數。字符串/路徑評估必須在客戶端完成。