检查SQLite表中是否已存在具有值的行

时间:2015-03-08 22:01:24

标签: android sqlite

如何查看SQLite表中是否已存在具有特定值的行?

我的表有一个字符串“name”列。我想查看另一个表行中是否已存在特定名称。我还在学习SQLite,但我认为可以用光标做到这一点。

1 个答案:

答案 0 :(得分:2)

如果name列上有UNIQUE约束,则可以使用INSERT OR IGNORE(或Android中的insertWithOnConflict())仅在尚不存在的情况下插入行。

在一般情况下,要检查是否存在行,您必须运行SELECT查询。 但是,有一个helper function用于计算行数:

boolean nameExists(String name) {
    SQLiteDatabase db = ...;
    long count = DatabaseUtils.queryNumEntries(db,
                    "MyTable", "name = ?", new String[] { name });
    return count > 0;
}