SQLite避免重复条目

时间:2014-01-05 17:07:47

标签: android sql sqlite

我之前没有使用过SQLite。据我所知,当我使用MySQL时,如果我使用UNIQUE选项创建约束,如果我尝试添加重复元素,则不会收到任何错误。

对于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)错误。我想要的只是不要看到任何错误。如何在不玩捕捉异常的情况下做到这一点?

2 个答案:

答案 0 :(得分:2)

指定冲突解决方案,以便操作不会失败并且不会抛出异常:

INSERT OR IGNORE INTO ...;

Reference

答案 1 :(得分:1)

INSERT上解决冲突的语法是使用OR IGNORE

INSERT OR IGNORE INTO ...

更多信息:http://www.sqlite.org/lang_conflict.html