使用键插入android数据库

时间:2011-11-26 00:20:39

标签: java android mysql

所以我希望有一个自动增量的整数ID主字段。然后我还想要另一个带有文本字段的键。两个条目不能具有相同的ID,也不能具有相同的文本字段。问题是,如果ID不同但文本字段相同,我仍然不希望它们被插入。不幸的是,创建一个包含两个主键的表意味着可以插入它。除了两个主键之外还有这个表达吗?

1 个答案:

答案 0 :(得分:1)

表格只能包含一个主键。当你写

CREATE TABLE T1 ... PRIMARY KEY (A, B)

您实际上并没有创建两个主键,而是创建一个复合(即多列)主键。在这种情况下,这意味着两行不能共享 A和B 的相同值。

如果你需要A和B本身都是唯一的,那么你需要使用 UNIQUE约束(或者,一个唯一索引)。

来自SQLite documentation

  

UNIQUE约束类似于PRIMARY KEY约束,但单个表可能具有任意数量的UNIQUE约束。对于表上的每个UNIQUE约束,每行必须包含由UNIQUE约束标识的列中唯一的值组合。

例如:

CREATE TABLE T1 (A INTEGER PRIMARY KEY, B INTEGER UNIQUE ...)