外键约束形成错误[相同表]

时间:2016-08-14 11:20:05

标签: mysql sql foreign-keys

here is my table structure

我希望parent_forum会保存父论坛的id,这是同一个表id列值的ID。如您所见,两列的类型相同。我的表引擎是InnoDB,我尝试以下查询来添加约束。

ALTER TABLE `forums` ADD CONSTRAINT `parent_forum constraint` FOREIGN KEY (`id`) REFERENCES `codeigniter`.`forums`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;

我收到了一个写在标题上的错误。 这里究竟出了什么问题? Category_id成功地与其他表ID值一起使用。

1 个答案:

答案 0 :(得分:1)

我认为这是您正在寻找的语法:

ALTER TABLE forums ADD CONSTRAINT parent_forum_constraint
    FOREIGN KEY (parent_forum) REFERENCES codeigniter.forums(id)
        ON DELETE RESTRICT ON UPDATE RESTRICT;

括号中的列是引用references之后的列的列。此外,除非你有充分的理由,否则不要在名称中加上空格。没有所有的反引号,代码更具可读性。