同一个表上的外键

时间:2013-07-12 05:52:30

标签: sql foreign-keys

我有一个包含

的数据库架构
Group{name, group.id, parent.id} with key {group.id}

在此架构中,所有 parent.id 必须已存在于 group.id 列中,或者为null。 如何在创建表时将此约束转换为SQL? 谢谢

1 个答案:

答案 0 :(得分:2)

常规外键应该足够了。如果该字段为空,则不会执行任何检查。精确的语法可能略微取决于SQL方言,但它看起来像

create table Group_ (
    name varchar(30) not null,
    groupid int not null primary key,
    parentid int null foreign key references Group_ (groupid) )