0

我正面临 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)还是我做错了什么?

4

1 回答 1

0

在 foxpro 中,子查询需要指定为另一个 sql select 语句 .. SELECT * FROM articleWHERE aliasNOT IN (select * from 'example_alias') 这可能是解决方案吗?

于 2011-05-27T08:26:06.887 回答