SQLite"INSERT OR REPLACE INTO"无法正常工作

Muh*_*rif 10 sqlite

我必须在sqlite中编写一个查询来更新记录(如果它存在)或者如果记录尚不存在则插入它.我INSERT OR REPLACE INTO这里看了一下语法.但就我而言,当我多次执行下面的查询时,记录会重复.即如果我执行查询5次,则插入记录5次.

INSERT OR REPLACE INTO NICKS 
    (id_nick,name_nick,date_creation)
 VALUES 
    ('nabeelarif', 'Muhammad Nabeel','2012-03-04')
Run Code Online (Sandbox Code Playgroud)

你知道我做错了吗?我正在使用android平台并使用" Firefox Sqlite Manager "来测试我的查询.

Bra*_*rad 26

您需要在这些列中的一个或组合上具有唯一索引.

CREATE UNIQUE INDEX idx_something ON NICKS (id_nick, name_nick, date_creation);


Mac*_*tle 6

在Android中,您应该使用SQLiteDatabase.replace(),插入或更新.使用Android SQLite实现,通常不使用表示为字符串的原始查询.请参阅http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#replace%28java.lang.String,%20java.lang.String,%20android.content.ContentValues%29