我有下面的数据库,当我尝试运行 SQL 命令时,它并没有完全完成它应该做的事情(下面的代码应该有cursorSize
1,但它显示为 0)。
我运行的代码是:
SQLiteDatabase db = this.getReadableDatabase();
String countQuery = "SELECT songid FROM TABLE_TRACKS WHERE (tagid = 7 OR tagid = 10) AND tagid = 9";
Cursor cursor = db.rawQuery(countQuery, null);
int cursorSize = cursor.getCount();
它与 where 子句有关,因为当我更改括号并制作它时
WHERE (tagid=9 AND tagid = 7) OR tagid=10
它之所以有效,int cursorSize
是因为 2。我是否遗漏了一些愚蠢的东西,或者我对 SQL WHERE 子句或 AND/OR 运算符不了解的东西?
如果有人可以为我解释这一点以及如何获得我想要的结果,我将不胜感激。(下面我想返回一行songid
等于3
。)