我想创建一个表,并在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作为列名。 –