我正在尝试使用本地CSV文件在MySQL中进行更新,我确信我的语法应该是正确的,但是由于MySQL告诉我,我显然遗漏了一些东西:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近'FIELDS TERMINATED BY',''enclOSED BY''''(ArtikelNummer,Tags) LINES TERMINA'在第3行
我使用的代码如下:
CREATE TEMPORARY TABLE TempTable LIKE Assortiment;
LOAD DATA LOCAL INFILE 'C:\\Users\\Website\\website data\\stock.csv'
INTO TABLE TempTable ( ArtikelNo, Tags )
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
UPDATE assortiment
INNER JOIN TempTable
ON TempTable.ArtikelNo = assortiment.ArtikelNo
SET assortiment.Tags = TempTable.Tags;
DROP TEMPORARY TABLE TempTable;
目标表使用了很多列,csv文件只有2个
我认为错误出现在列规范(ArtikelNo,Tags)中,因为当我离开它时,不再有语法错误(只有错误的映射)。我尝试将它放在不同的位置,确保列名称正确,但这没有帮助。
显然,解决方法是确保CSV列的顺序正确,并在需要时放入一些虚拟列,但我想找出出错的原因。
我正在使用MySQL查询浏览器,版本5.1.11,使用服务器版本5.5.20。