我有一个带有下表的SQLite数据库: 有一个Persons表(ID,名称,...)和Pets表(ID,名称,所有者,...),其中owner是引用一行Persons的外键。 一个人可以拥有任意数量的宠物,但是每个宠物必须有一个单独的名字。
问题在于,该名称仅对于同一所有者必须是唯一的,一个名称在“宠物”表中可以出现多次,但对于所有者列中存储的人员的ID只能出现一次。 因此,名称列不能是唯一的,但所有者和名称一起应该是唯一的。
如何在SQLite中实现?
答案 0 :(得分:1)
您只需要唯一的约束或索引:
create unique index unq_pets_owner_name on pets(owner, name);