0

我已经尝试了我能想到的一切,但由于某种原因,我无法让它发挥作用。

我有一段 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 服务器。我在这里想念什么?

4

2 回答 2

1

根据 MySQL 文档,检查是保留字。

http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

于 2013-04-02T19:32:16.117 回答
0

check是 MySQL ( http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html ) 中的保留字。您应该在 sql 语句中将其括在反引号 (`) 中:

于 2013-04-02T19:34:51.457 回答