复合唯一约束 SQL

Composite Unique Constraint SQL

我有一个带有 parents 和 children 的 table,每条记录都有一个 PRIMARY KEY id、一个 'name' 和一个 'parent' 引用另一条记录的 'id'.

我可以对共享 'parent' 的记录中的 'name' 强制执行 UNIQUE 约束吗?

是的。这将是一个复合唯一键:

alter table t add constraint unq_t_parent_name unique (parent, name);

如果你不关心约束是否有名字,那么你可以只创建一个唯一索引:

create unique index unq_t_parent_name on t(parent, name);