Sql 同一表上的外键

Sql 同一表上的外键,sql,foreign-keys,Sql,Foreign Keys,我有一个数据库模式,其中包括 Group{name, group.id, parent.id} with key {group.id} 在此架构中,所有父.id必须已经存在于组.id列中,或者为空。 如何在创建表时将此约束转换为SQL? 谢谢一个普通的外键就足够了。如果字段为空,则不会执行任何检查。精确的语法可能稍微取决于SQL方言,但它看起来像 create table Group_ ( name varchar(30) not null, groupid int not n

我有一个数据库模式,其中包括

Group{name, group.id, parent.id} with key {group.id}
在此架构中,所有父.id必须已经存在于组.id列中,或者为空。 如何在创建表时将此约束转换为
SQL

谢谢

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

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