【问题标题】:SQLite two values unique in combinationSQLite 两个值组合唯一
【发布时间】:2018-12-21 19:00:33
【问题描述】:

我有一个包含以下表格的 SQLite 数据库: 有一个 Persons 表(ID、name、...)和一个 Pets 表(ID、name、owner...),其中 owner 是一个外键,指向一行 Persons。 一个人可以拥有任意数量的宠物,但每只宠物都必须有一个单独的名字。

问题是名称必须仅对于同一所有者是唯一的,名称可以在 Pets 表中出现多次,但每个人的 ID 只能出现一次,存储在所有者列中。 因此,name 列不能是唯一的,而 owner 和 name 应该是唯一的。

如何在 SQLite 中实现这一点?

【问题讨论】:

    标签: sql sqlite unique


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多