我正在创建一个以basisId
字段作为主键的表。还有另一个字段parentBasis
是对另一个that.basisId
等于的元组的引用this.parentBasis
。我想要做的是在创建表时表达这个约束。
类似于:(ADD CONSTRAINT CHECK EXISTS this.parentBasis AS somewhere.basisId
显然不是真正的 MySQL)。
快速浏览MySQL 开发页面并没有多大用处。任何帮助,将不胜感激。
谢谢。
我正在创建一个以basisId
字段作为主键的表。还有另一个字段parentBasis
是对另一个that.basisId
等于的元组的引用this.parentBasis
。我想要做的是在创建表时表达这个约束。
类似于:(ADD CONSTRAINT CHECK EXISTS this.parentBasis AS somewhere.basisId
显然不是真正的 MySQL)。
快速浏览MySQL 开发页面并没有多大用处。任何帮助,将不胜感激。
谢谢。
如果您使用的是 InnoDB,那么您可以创建一个从表到自身的外键。例如:
create table t (
id int not null primary key,
parent int null
);
alter table t add constraint foreign key (parent) references t(id);
那么t.parent
要么必须是 NULL 要么是一个t.id
值。