ios - 奇怪的 SQLite 行为。不同的结果;相同的查询

标签 ios objective-c sqlite

<分区>

我有这样的查询:

SELECT id,name,province,enabled 
FROM customers 
WHERE enabled = 1 AND (name LIKE "%to%" OR  province LIKE "%to%");

在 MAC 或 IPAD 上使用相同的数据库会得到不同的结果。

在 Mac 上它按预期工作并返回 11 条记录,但在 iPad 上返回 55 条记录 ¿ (奇怪的是,其中一些字段已启用 = 0)真的很奇怪。

iPad 应用程序是使用 Xcode6 在 Objective C 中完成的

我想 sqlite3 在两个设备上的版本并不完全相同,并且不会以相同的方式解释括号优先级。

最佳答案

我怀疑 iOS 版本的 SQL 有问题,可能缺少括号。例如,以下 SQL 可能包含 enabled 不等于 1 的结果:

SELECT id,name,province,enabled 
FROM customers 
WHERE enabled = 1 AND name LIKE "%to%" OR  province LIKE "%to%";

确保包含原始问题中所示的括号。

关于ios - 奇怪的 SQLite 行为。不同的结果;相同的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26261792/

相关文章:

ios - 处理 NSDateFormatter 语言环境 "feature"的最佳方法是什么?

java - 在其他代码运行之前从网络填充数据库

node.js - 使用 nw-gyp 构建 node-sqlite3

SQLite Join查询返回不存在的数据

iphone - 滑动以从 tableView 中删除记录

ios - 异步创建包含图像的数组

ios - iTunes Connect 销售和趋势报告

ios - CocoaLumberJack 2.0.0 与 Swift 1.2 的编译错误

ios - 如何在 iOS 中创建具有动态内容的 View ?

ios - 无法在 iOS 应用程序中使用自定义字体