2014-03-26 64 views
0

我在嘗試將表項添加到表中主鍵已存在的表中時收到此異常。android:SQLiteConstraintException:PRIMARY KEY必須是唯一的

我添加了規則ON CONFLICT REPLACE。因此,當出現重複條目​​而不是提供異常時,不會取代該行。 (_id integer primary key,「......(_id)ON CONFLICT REPLACE)」);

+1

嘗試更改語法。使用字段聲明添加約束:(_id整數主鍵在衝突替換,...​​); 如果這不起作用try(_id integer primary key,...... UNIQUE(_id)ON CONFLICT REPLACE); – Hbibna

+0

如果上述Hbibna的建議無效,請考慮發佈一些更多代碼來突出顯示此問題。 – laalto

回答

0

不是使用INSERT子句,而是使用INSERT OR REPLACE。

+0

嘗試過,但拋出一個異常... android.database.sqlite.SQLiteException:近「INSERT」:語法錯誤(代碼1):編譯時:CREATE TABLE table_contact(_cid整數主鍵,contactName TEXT NOT NULL,UNIQUE (_cid)在衝突插入或替換); –

+0

也許問題在於你定義表格的方式。你的唯一ID是什麼?它是如何管理的(通過你的代碼/自動增量)? – Samuelens

相關問題