所以我想要一个自动递增的整数ID主字段。然后我还想要另一个带有文本字段的键。两个条目不能具有相同的 ID,也不能具有相同的文本字段。问题是,如果 ID 不同但文本字段相同,我仍然不希望插入它们。不幸的是,创建一个具有两个主键的表意味着它可以被插入。除了两个主键之外还有什么可以表达这一点吗?
最佳答案
一个表只能有一个主键。当你写的时候
CREATE TABLE T1 ... PRIMARY KEY (A, B)
您实际上并没有创建两个主键,而是创建一个复合(即多列)主键。在这种情况下,这意味着两行不能共享相同的 A 和 B 值。
如果您需要 A 和 B 本身都是唯一的,那么您需要使用 UNIQUE 约束(或者,唯一索引)。
A UNIQUE constraint is similar to a PRIMARY KEY constraint, except that a single table may have any number of UNIQUE constraints. For each UNIQUE constraint on the table, each row must contain a unique combination of values in the columns identified by the UNIQUE constraint.
例如:
CREATE TABLE T1 (A INTEGER PRIMARY KEY, B INTEGER UNIQUE ...)
关于java - 用键插入android数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8275361/