我有一个包含
的数据库架构Group{name, group.id, parent.id} with key {group.id}
在此架构中,所有 parent.id 必须已存在于 group.id 列中,或者为null。
如何在创建表时将此约束转换为SQL
?
谢谢
答案 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) )