【发布时间】:2018-11-25 05:07:12
【问题描述】:
我正在尝试将数据从 csv 加载到 mySQL。列的顺序不正确,有些列被跳过。日期格式也错误
数据如下所示:
日期、开盘价、最高价、最低价、收盘价、调整收盘价、成交量 4/3/2006,10.01,10.01,10.01,10.01,7.236886,0 4/4/2006,10.07,10.07,10.07,10.07,7.280261,0
我的代码如下所示:
$query = <<<eof
LOAD DATA INFILE '$filename'
INTO TABLE `$table`
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(@date_str, @open, @high, @low, @close, @adjclose, @volume)
SET `date` = STR_TO_DATE(@date_str, '%c/%e/%Y'),
SET symbol = $symbol,
SET nav = @close;
eof;
我得到的错误是:
Sql 错误: LOAD DATA INFILE 'D:/Website/finance/csv/ABDNX.csv' INTO 表
mutual_fund_history由',' 终止的字段 BY ' ' 忽略 1 行(@date_str、@open、@high、@low、@close、 @adjclose, @volume) SETdate= STR_TO_DATE(@date_str, '%c/%e/%Y'), SET 符号 = ABNDX,SET 导航 = @close; Sql 错误 #: 1064 - 你有一个 SQL 语法错误;检查与您对应的手册 MySQL 服务器版本,以便在 'SET 符号 = 附近使用正确的语法 ABNDX, SET nav = @close' 在第 8 行…
我被难住了。感谢您的帮助。
更新:我尝试在 '$symbol' 周围加上单引号,因为它是一个字符串,但仍然出现错误。
注意,我已关注this post 指导我。
【问题讨论】: