0
如何檢查SQLite表中是否存在具有特定值的行?檢查SQLite表中是否已經存在具有值的行
我的表有一個字符串「名稱」列。我想查看一個特定的名稱是否已經存在於另一個表格行中。我仍然在學習SQLite,但我認爲可以使用遊標來做到這一點。
如何檢查SQLite表中是否存在具有特定值的行?檢查SQLite表中是否已經存在具有值的行
我的表有一個字符串「名稱」列。我想查看一個特定的名稱是否已經存在於另一個表格行中。我仍然在學習SQLite,但我認爲可以使用遊標來做到這一點。
如果您對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;
}
我editted主要是語法,使之更清楚什麼被問。我還刪除了'Java','Android','row'和'exists'標籤 - 前兩個是因爲這是關於SQLite而不是Java/Android實現;後兩個是因爲他們是無稽之談。如果這個問題真的是關於Java或Android特定的東西,請更新您的問題,特別是針對這種實現的Java/Android代碼,而不僅僅是SQLite – 2015-03-08 22:59:34