2

我有一个数据库架构,其中包括

Group{name, group.id, parent.id} with key {group.id}

在此模式中,所有parent.id必须要么已经存在于group.id列中,要么为空。创建表时如何将此约束转换为SQL?谢谢

4

1 回答 1

2

一个普通的外键就足够了。如果该字段为空,它不会执行任何检查。精确的语法可能稍微取决于 SQL 方言,但它看起来像

create table Group_ (
    name varchar(30) not null,
    groupid int not null primary key,
    parentid int null foreign key references Group_ (groupid) )
于 2013-07-12T06:00:18.253 回答