Я раньше не использовал 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' Часть должна быть введена в самом конце или рядом с ограничением? –
«ON CONFLICT IGNORE» - это синтаксис, который можно использовать при указании ограничений при создании таблицы. Для вставок это «OR IGNORE». Обновлен ответ. – laalto