我刚刚更新了我的一个数据库,包括创建一个新表 AUTO_VERIFICATION。该表是使用以下查询创建的:
CREATE TABLE AUTO_VERIFICATION (stock text NOT NULL PRIMARY KEY, current_value double, last_high double, last_low double)
稍后,当尝试使用我已成功用于在其他表中插入数据的相同类型的代码插入第一个条目时,我会以以下方式收到错误(这使用我的应用程序的自定义错误消息):
Error in call to MShareDatabase::execQuery: near \"0.00\": syntax error Unable to execute statement (query: INSERT INTO AUTO_VERIFICATION (stock, current_value, last_high, last_low) VALUES ('CYRE3', 0.00, 0.00, 0.00)
我就是无法理解这个错误!我已经检查了代码的其他部分,我创建了其他表并向其中插入数据,并且语法相同。我还使用了其中一个网站,您可以在其中检查您的 SQL 语法是否正确,并且它向我返回了 OK。
谁能告诉我问题出在哪里吗?
我正在使用 SQLite 和 Qt 5.5,只是为了记录,我的代码中的所有其他数据库事务函数(相当多)都工作正常。
最佳答案
我明白了:查询末尾缺少右括号“)”(显示的实际上是错误消息的一部分,而不是查询本身)。
感谢大家的帮助,
莫默吉尔
关于SQLite查询返回 "syntax error Unable to execute statement",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35654227/