2013-01-15 35 views
1

我想在MySQL數據庫中插入通過文本文件中的數據和收到此錯誤得到錯誤,同時通過文件在MySQL中插入數據

1148: The used command is not allowed with this MySQL version 

ADOConnection._Execute(LOAD DATA LOCAL INFILE '/var/www/in2fonenew/inv/test.txt' 
INTO TABLE tbl_transaction FIELDS TERMINATED BY '||' enclosed by '`..., false) 

並且查詢下面提到爲了這個目的

$sql="LOAD DATA LOCAL INFILE '".$docroot."/inv/".$dbfile."' INTO TABLE 
tbl_transaction FIELDS TERMINATED BY '||' enclosed by '`' LINES TERMINATED 
BY '|||||' (field1,field2,field3,field4,field5,field6)"; 

我做了什麼錯在這裏?

回答

2

來源:GitHub

「如果LOAD DATA LOCAL INFILE被禁止,無論是在服務器或客戶端,試圖發出這樣的聲明會收到以下錯誤消息客戶端: 錯誤1148:該這個MySQL版本不允許使用命令「

LOAD DATA LOCAL INFILE必須顯式啓用。

2

從MySQL的5.5手冊頁:僅

本地藝術作品,如果你的服務器和客戶端都已經 配置爲允許它。例如,如果mysqld以 --local-infile = 0開頭,則LOCAL不起作用。請參見第6.1.6節「LOAD DATA LOCAL的安全問題」。

你應該設置該選項:

local-infile=1 

到您的[MySQL的]進入my.cnf文件,或致電mysql客戶端與--local-infile的選項:

mysql --local-infile -uroot -pyourpwd yourdbname 

您必須確保將同一參數定義到您的[mysqld]部分中在「本地infile」功能服務器端定位。

這是一個安全限制。

相關問題