SQLite查询返回 "syntax error Unable to execute statement"

标签 sql qt sqlite

我刚刚更新了我的一个数据库,包括创建一个新表 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/

相关文章:

c++ - 具有模板功能的跨平台类

java - 尝试使用 Java 在 sqlite 数据库中创建表时出现空指针异常

sql - LOAD DATA LOCAL,如何跳过第一行?

mysql - 当每个外键只需要一行时,SQL 会减少 SELECT 中完成的工作

c++ - Qt 5 样式 : dynamically load qml files

c++ - 无法将QWidget扩展的实例添加到QVector

mysql - 将唯一值从datagridview插入到mysql数据库表

mysql - 如何在连接两个表时在一个字段的末尾附加一个变量

java - 为什么我设置 this.getReadableDatabase() 后需要关闭数据库?

c# - SQLite,将数据集/数据表复制到数据库文件