我正在尝试使用 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);
当这个打印语句被输入到工作台时(没有“??”),值被成功地输入到相应的列中。
我想某处的数据类型存在问题,但我似乎无法弄清楚它是什么。任何建议都会很棒。谢谢