1
私はcodeigniterを使用しています。 csvファイルをDBにロードしようとしています。 $path = 'C:/xampp/htdocs/CodeIgniter-3.0.6/';
SQL構文にエラーがあります。MariaDBサーバー+コードシグネイタ+ LOAD DATA INFILE
エラー:
A Database Error Occurred
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Institution ID Code,Acquiring Institution Name,Service Indicator,Local Point of ' at line 5
LOAD DATA INFILE "C:/xampp/htdocs/CodeIgniter-3.0.6/fichier/test3.csv" INTO TABLE atm_location FIELDS TERMINATED BY ";" LINES TERMINATED BY "\n" IGNORE 0 LINES (Acquiring Institution ID Code,Acquiring Institution Name,Service Indicator,Local Point of Service ID,Country Code,Administrative Region, Tourist Area,City/Town/Locality,Postal Code,Address,Location Name,Type of Location,Type of Access,Opening Hours,Opening Days,Card Programm Indicator,Opening Date,GPS Latitude,GPS Longitude)
Filename: C:/xampp/htdocs/CodeIgniter-3.0.6/system/database/DB_driver.php
Line Number: 691
これは動作します:
$query = $this->db->query('LOAD DATA INFILE "'.$path.'fichier/test3.csv" INTO TABLE atm_location FIELDS TERMINATED BY ";"');
このdoens't作業(上記のエラーを与える):
$query = $this->db->query('
LOAD DATA INFILE "'.$path.'fichier/test3.csv"
INTO TABLE atm_location FIELDS TERMINATED BY ";"
LINES TERMINATED BY "\n"
IGNORE 0 LINES
(Acquiring Institution ID Code,Acquiring Institution Name,Service Indicator,Local Point of Service ID,Country Code,Administrative Region, Tourist Area,City/Town/Locality,Postal Code,Address,Location Name,Type of Location,Type of Access,Opening Hours,Opening Days,Card Programm Indicator,Opening Date,GPS Latitude,GPS Longitude)');
ませ列が不足していません。 csvファイルに列名がありません。 DBには、ここに書き込むのと同じ列名があります。私は明らかにxamppを使ってlocalhostで作業しています。
ありがとう、私はスペースが問題であったことを知らなかったし、\ 'の存在を知らなかった。 \ 'と\ 'の違いは何ですか?彼らは同じことをしますが、imbricationを許可しますか? – Firefly
Bactickは、mysqlの識別子(テーブル名、カラムなど)の引用符です。一重引用符と二重引用符は、文字列、文字、時間の文字列表現の値を引用するために使用されます。 – Ray
二重引用符も識別子引用符にすることができる 'ANSI_QUOTES'を有効にできますが、バッククックに。それはあなたがいつも逆戻りした名前が識別子であることを常に知っているので、それをあまり混乱させません。また、あなたのクエリがansi引用符がオフになっているシステムで動作することを保証できません – Ray