添加一个字段存在的MySQL约束作为同一个表的主键

时间:2012-04-16 03:58:58

标签: mysql primary-key

我正在创建一个以basisId字段作为主键的表。还有另一个字段parentBasis,它是对that.basisId等于this.parentBasis的另一个元组的引用。我想要做的是在创建表时表达这个约束。

类似于:ADD CONSTRAINT CHECK EXISTS this.parentBasis AS somewhere.basisId(显然不是真正的MySQL)。

快速浏览MySQL dev pages并没有太大帮助。任何帮助将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:1)

如果你正在使用InnoDB,那么你可以从表格中创建一个foreign key。例如:

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值。