[英]PHP/Mysql Load Data Local Infile
我已經嘗試了所有我能想到的東西,但是由於某種原因,我無法使它起作用。
我有一段PHP代碼可將本地存儲的CSV文件加載到MySQL數據庫中。 它可以在一個腳本中完美運行:
$query = 'LOAD DATA LOCAL INFILE \''.$arp_input.'\' INTO TABLE arp_import FIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\' LINES TERMINATED BY \'\r\n\' (not_used,account_number,check_serial,issue_date,amount,transaction_code,additional_text)';
但是,我需要在另一個腳本中執行相同的操作(加載CSV),該腳本實際上執行相同的操作,但是生成不同的格式。 這是查詢:
$query = 'LOAD DATA LOCAL INFILE \''.$ap_input.'\' INTO TABLE ap_import FIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\' LINES TERMINATED BY \'\r\n\' (account_number,check,paiddate,amount)';
但是,當我使用上述查詢運行第二個腳本時,出現此錯誤:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'check,paiddate,amount)' at line 1
當我在第二個查詢的末尾取出字段列表時,即使我嘗試了\\ n定界符,\\ r和兩者都\\ r \\ n,它也僅從文件中導入了一行。
我已經嘗試了所有我能想到的。 這兩個PHP腳本在同一服務器上運行,並且都在訪問同一遠程MySQL服務器。 我在這里想念什么?
根據MySQL文檔,Check是保留字。
check
是MySQL中的保留字( http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html )。 您應該將其括在sql語句的反引號(`)中:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.