我以前沒有使用過SQLite。據我記憶,當我使用MySQL時,如果我使用UNIQUE
選項創建約束,如果嘗試添加重複元素,則不會收到任何錯誤。SQLite避免重複條目
似乎這不是SQLite的情況。
這是我創造我的表:
// Create table for Wi-Fi Information
myDB.execSQL("CREATE TABLE IF NOT EXISTS " + WIFI_DATABASE_TABLE
+ " (WifiName VARCHAR UNIQUE);");
這是我如何插入元素
if (tab == DBTable.WIFI_DATABASE) {
myDB.execSQL("INSERT INTO " + WIFI_DATABASE_TABLE
+ " (WifiName)" + SQLValues + ";");
}
我的問題是,當我插入我得到Column WifiName name not unique (code 19)
錯誤相同的元素。我想要的只是不看到任何錯誤。我怎樣才能避免捕捉異常?
是否處於衝突狀態?部分應該在約束的最後或旁邊輸入? –
'ON CONFLICT IGNORE'是在創建表格時指定約束條件時可以使用的語法。對於插入它是「或IGNORE」。更新了答案。 – laalto