我想創建一個表,並在Android應用程序中使用SQLite插入行。我需要對主鍵進行硬編碼,因爲它們將用於針對數據庫的查詢。主鍵必須與其他數據庫匹配。Android的SQLite PRIMARY KEY必須是唯一的例外,當主鍵是唯一的
我創建表與此:
CREATE TABLE Properties(ID INTEGER PRIMARY KEY, Name TEXT)
然後我有一個插入基於從數據庫中查詢行的方法。這是類似於查詢的樣子:
INSERT INTO Properties (ID, Names) VALUES
(5001, "A Property"),
(4001, "B Property"),
(3001, "C Property")
我得到消息「主鍵必須是唯一的(代碼19)」的SQLLiteConstraintException。我的主鍵都是獨一無二的。我懷疑這是因爲主鍵不正確而發生的。我從數據庫中進行的查詢按名稱排序,而不是主鍵。
有趣的是,當我從我的設備中提取SQLite數據庫時,似乎有所有的數據。
通常建議在android中使用_id作爲列名。 –