我正面临 FMDatabase 的严重问题。我正在使用如下查询
SELECT * FROM `article` WHERE `alias` NOT IN ('example_alias')
我使用“NOT IN”是因为可能有一个我想排除的别名列表而不是“example_alias”。但奇怪的是,这个查询的结果包括我想要排除的别名的所有记录。所以 FMDatbase 选择了错误的记录。如果我将此查询复制并粘贴到 SQLite 数据库浏览器中并在那里执行,则查询正确完成。
如果我删除“IN”前面的“NOT”,那么 SQLite 数据库浏览器将向我显示具有给定别名的所有记录,并且正如预期的那样,FMDatabase 将给我所有没有它们的记录...
在下一步中,我想替换 SELECT使用 DELETE,但如果保留所有不需要的记录并删除我想要保留的记录,这确实很痛苦。
这是 FMDatabase 或底层 SQLite 框架的已知错误(我使用的是 libsqlite3.dylib)还是我做错了什么?