mysql - 使用 Mysql 加载数据时出错

标签 mysql csv load-data-infile

我在尝试从 csv 插入数据到 mysql 数据库时遇到问题。我的脚本如下:

    LOAD DATA LOCAL INFILE '/home/michael/Documents/Data/converted_sourceA/EURUSD_MyData_60_20140801_20140831.csv'  
INTO TABLE DATA_OHLCV  
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'  
LINES TERMINATED BY '\n' 
(@var1, open, high, low, close, volume)  
set date = STR_TO_DATE(@var1, '%Y%m%d-%H%i%s.%f'),
set id_source = 'srcA',
set timeframe = 60,
set id_asset = 'EURUSD';

错误信息是:

错误 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 'set id_source = 'srcA' 附近使用的正确语法, 设置时间范围 = 60, 在第 8 行设置 id_asset = 'EURUSD''

我真的没有看到我的错误,并且我已经寻找它有一段时间了。 有人可以帮助我吗?

预先感谢您的帮助。

最佳答案

您的 SET 太多,只需放置一次,然后用逗号分隔字段即可:

LOAD DATA LOCAL INFILE '/home/michael/Documents/Data/converted_sourceA/EURUSD_MyData_60_20140801_20140831.csv'  
INTO TABLE DATA_OHLCV  
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'  
LINES TERMINATED BY '\n' 
(@var1, open, high, low, close, volume)  
set date = STR_TO_DATE(@var1, '%Y%m%d-%H%i%s.%f'),
id_source = 'srcA',
 timeframe = 60,
id_asset = 'EURUSD';

关于mysql - 使用 Mysql 加载数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26656708/

相关文章:

mysql - 按主机分组的每日最大玩家数

mysql - "mysql 8.0"本地 infile 失败 我尝试并显示设置。会不会是权限问题?

mysql - 尝试使用 LOAD DATA LOCAL INFILE 将 CSV 文件中的阿拉伯数据导入 mysql

PHP PDO 连接失败但没有错误

mysql - 如何选择多个表?有6张 table

sql - 如何在Oracle中正确假脱机

mysql - 将大量 CSV 数据存入一个数据库中的新 MySQL 表中

java - 如何使用 jackson CsvMapper 或其他 csv 解析器解析 CSV 字符串中的列?

mysql - 为什么我的数据被截断?

mysql - 错误 : MySQLSyntaxErrorException - select command denied to user