我在我的 C++ 程序中使用了 sqlite3,并试图在 sqlite3_get_table 函数。
这是我的 sql 字符串。
SELECT name FROM sqlite_master WHERE type='table' AND name=test_table;
我不断收到错误消息“没有这样的列“test_table””。
我要做的就是确认我的数据库中是否存在一个表。就这样。 关于我的字符串有什么问题的任何线索。
最佳答案
在 SQLite 中,双引号 ('"
') 是标识符转义字符,因此假设这是您的 SQL(原始 SQL,与 C++ 无关):
SELECT
name
FROM
sqlite_master
WHERE
type = 'table'
AND
name = "test_table;"
相当于:
...
name = test_table
...这显然不是您想要的。
您应该在 SQL 中使用单引号字符串,并且语句终止分号应该放在最后:
SELECT
name
FROM
sqlite_master
WHERE
type = 'table'
AND
name = 'test_table';
关于c++ - SQL 字符串错误?没有这样的专栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41527996/