[英]Syntax Error on mysql php load data infile
這是我第一次嘗試將csv文件中的數據導入mysql表。
問題是csv列的順序與表中的順序不匹配,並且csv中缺少一列(自動增量) id
。 我正在嘗試這樣做,但是它給了我語法錯誤。
$sql="LOAD DATA INFILE '$file'
INTO TABLE calls
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'
OPTIONALLY ENCLOSED BY ".'"'."
(`account_code`,`source`,`destination`,`dbcontext`,`caller_id`,`channel`,`destination-channel`,`lastapp`,`lastdata`,`start`,`answer`,`end`,`duration`,`billseconds`,`disposition`,`amaflag`,`call_id`,`userfield`)";
注意$file
是動態生成的文件名。 執行查詢時出現此錯誤。
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 'OPTIONALLY ENCLOSED BY " (`account_code`,`source`,`destination`,`dbcontext`,`' at line 4
知道為什么嗎?
謝謝阿馬爾
這個:
OPTIONALLY ENCLOSED BY "
需要是
OPTIONALLY ENCLOSED BY '"'
所以你的代碼應該改為
$sql="LOAD DATA INFILE '$file'
INTO TABLE calls
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\r\n'
(`account_code`,`source`,`destination`,`dbcontext`,`caller_id`,`channel`,`destination-channel`,`lastapp`,`lastdata`,`start`,`answer`,`end`,`duration`,`billseconds`,`disposition`,`amaflag`,`call_id`,`userfield`)";
(更改所需的單引號和交換子句的順序已更改,但我還將您的連接更改為更具可讀性的內容)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.