我希望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值一起使用。
答案 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
之后的列的列。此外,除非你有充分的理由,否则不要在名称中加上空格。没有所有的反引号,代码更具可读性。