У FMDatabase есть проблемы с «NOT IN» или SQLite на iPhone не поддерживает его? - PullRequest
0 голосов
/ 27 мая 2011

У меня серьезная проблема с FMDatabase.Я использую запрос, подобный следующему

SELECT * FROM `article` WHERE `alias` NOT IN ('example_alias')

Я использую «NOT IN», потому что вместо «example_alias» может быть список псевдонимов, которые я хочу исключить.Но, как ни странно, результат этого запроса включает все записи с псевдонимом, который я хочу исключить.Таким образом, FMDatbase выбирает неправильные записи.Если я скопирую и вставлю этот запрос в Браузер баз данных SQLite и выполню его там, запрос будет выполнен правильно.
Если я удаляю «НЕ» перед «В», то Браузер баз данных SQLite показывает мне все записи с заданным псевдонимом иКак и ожидалось, FMDatabase предоставляет мне все записи без них ...
На следующем шаге я хочу заменить SELECT на DELETE, но действительно будет больно, если все ненужные записи будут сохранены, а записи, которые я хочу сохранить, будут удалены.
Это известная ошибка в FMDatabase или базовой платформе SQLite (я использую libsqlite3.dylib) или я что-то не так делаю?

1 Ответ

0 голосов
/ 27 мая 2011

В foxpro подзапрос должен быть указан как другой оператор выбора SQL. SELECT * FROM article WHERE alias NOT IN (выберите * из 'example_alias') Может ли это быть решением?

...