我以前没有使用过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