MySQL插入错误1064

时间:2014-07-30 10:32:36

标签: mysql insert mt4

我正在尝试使用mysql包装器通过libmysql.dll从MT4插入一些数据。我已成功设法创建并选择数据库,创建表,甚至从表中检索条目(从mysql工作台输入表)。 我现在无法使用来自mt4的数据填充表格。

问题:运行以下插入查询会在mt4终端返回错误1064。

query = StringConcatenate ("insert into ",tablename," (`MQLTime`, `RTime`, `Open`, `High`, `Low`, `Close`, `Volume`) values ​​('" ,time, "','" ,RTIME, "'," ,open, "," ,high, "," ,low, "," ,close, "," ,volume, ");" );

表(和列数据类型)生成如下:

query = StringConcatenate("CREATE TABLE ",dbName,".",tablename," 
    (MQLTime CHAR NOT NULL, RTime CHAR NULL, Open DOUBLE NULL, 
    High DOUBLE NULL, Low DOUBLE NULL, Close DOUBLE NULL, Volume BIGINT NULL, 
    PRIMARY KEY (MQLTime));");

打印到mt4终端的插入查询表明错误位于查询的VALUES部分(" ??")

insert into EURUSD_M1 (`MQLTime`, `RTime`, `Open`, `High`, 
`Low`, `Close`, `Volume`) values ??('2014.07.30 13:00:00','2014.07.30 13:00:00',1.34018,1.34027,1.34015,1.34027,79);

当将此print语句输入工作台时(没有" ??"),这些值会成功输入到相应的列中。

我想某个数据类型存在问题,但我似乎无法弄清楚它是什么。 任何建议都会很棒。谢谢

1 个答案:

答案 0 :(得分:0)

澳大利亚的一家绘画公司说:“问题已解决”

MT4方查询:

  

query = StringConcatenate(“insert into”,tablename,“(MQLTime,RTime,Open,High,Low,Close,Volume)值(STR_TO_DATE('”,time,“','%Y。%m。% d%H:%i:%s'),CONCAT('“,RDATE,”','',RTIME,“'),”,open,“,”,high,“,”,low,“,” ,关闭, “”,卷, “);”);

MT4输出:

  

插入EURUSD_M1(MQLTime,RTime,Open,High,Low,Close,Volume)值(STR_TO_DATE('2014.05.20 01:40:00','%Y。%m。%d%H:%i :%s'),CONCAT('20140520','01:40:00'),1.37093,1.37093,1.37092,1.37093,3);

MySQL输出:

  

2014-05-19 17:14:00,20140519 17:14:00,1:37202,1.37209,1.37201,1.37202,59

再次,谢谢。