【问题标题】:LOAD DATA IN FILE ERROR在文件中加载数据错误
【发布时间】:2015-07-02 16:53:12
【问题描述】:

SQL 说 Error in Line 7

接受 CSV 文件的属性时出现问题。 提前感谢您的建议和解决方案!

LOAD DATA INFILE 'C:\Users\TO115956\Documents\EasyPHP-DevServer-14.1VC11\data\localweb\databse\W2.csv'
INTO TABLE W2
FIELDS TERMINATED BY ';'
ENCLOSED BY '"' 
LINES TERMINATED BY '\n'
IGNORE 1 LINES 
(Cde Sap;Num cde cl;Type cde;Bloc livra;Bloc Fact;Org vente;Canal Dist;Sect Act;Don. Ordre;Motif cde;Prix HT;Devise;Terme;Statut_Cde;Date créat;Date creat;Date ACKN;Date PRES;Date RES;Date VAES;Date RFQ;Date VALI;Date REB;RQUO;Date livra;Date SM;Date factu;Avis;PN in;Code chain;Type fab;SN in;Doc Client;Garantie;Livraison;Poste liv;LTA2;VOL2;DATE2;Qté livrée;PN out;SN out;Facture;Montant;Devise)

MySQL 说:

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用 在第 7 行的“Sap”附近

【问题讨论】:

  • 我认为您必须在名称周围加上双引号
  • 我尝试过使用双引号,但它不起作用! @詹斯
  • MySQL 说:#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 7 行的“Sap”附近使用正确的语法
  • 将新查询和错误消息作为更新添加到您的问题中。
  • 如果列名包含空格,则需要在列名周围使用反引号 (`)。

标签: php mysql database csv load-data-infile


【解决方案1】:

查询的最后一行应包含数据库列名。这些名称不应包含空格或点。 (我认为他们实际上不能)

因此,您需要将这些更改为您的真实列名,而不是 CSV 中的标题。

或者,如果您的列顺序匹配,您可以删除最后一行。

【讨论】:

  • 你好 Fox,我试过了,但还是不行,我也不能改变 CSV 文件的列名,这是不可能的。
  • @AnuraagKapoor 你试过什么?你得到了什么错误?修改你的问题。无需更改 CSV 中的任何内容。
  • 我做了有问题的更改。我也尝试在我的数据库中创建 Spaceless 列,但它仍然无法正常工作。
  • @AnuraagKapoor 显示修改后的查询和错误。必须有区别。
  • @AnuraagKapoor 如果它与我提出的不同,请添加您自己的答案,以便任何可能在谷歌上搜索此问题的人都知道正确的解决方案是什么。
猜你喜欢
  • 2014-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多