SQLite两个结合使用的唯一值

时间:2018-12-21 19:00:33

标签: sql sqlite unique

我有一个带有下表的SQLite数据库: 有一个Persons表(ID,名称,...)和Pets表(ID,名称,所有者,...),其中owner是引用一行Persons的外键。 一个人可以拥有任意数量的宠物,但是每个宠物必须有一个单独的名字。

问题在于,该名称仅对于同一所有者必须是唯一的,一个名称在“宠物”表中可以出现多次,但对于所有者列中存储的人员的ID只能出现一次。 因此,名称列不能是唯一的,但所有者和名称一起应该是唯一的。

如何在SQLite中实现?

1 个答案:

答案 0 :(得分:1)

您只需要唯一的约束或索引:

create unique index unq_pets_owner_name on pets(owner, name);