2015-03-08 129 views
0

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

我的表有一個字符串「名稱」列。我想查看一個特定的名稱是否已經存在於另一個表格行中。我仍然在學習SQLite,但我認爲可以使用遊標來做到這一點。

+1

我editted主要是語法,使之更清楚什麼被問。我還刪除了'Java','Android','row'和'exists'標籤 - 前兩個是因爲這是關於SQLite而不是Java/Android實現;後兩個是因爲他們是無稽之談。如果這個問題真的是關於Java或Android特定的東西,請更新您的問題,特別是針對這種實現的Java/Android代碼,而不僅僅是SQLite – 2015-03-08 22:59:34

回答

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; 
} 
相關問題