如何在单个表上为父子关系创建外键?

时间:2015-05-19 10:50:20

标签: mysql

示例:

id | name | parent_id |

可以想象,parent_id必须指向同一个表中的有效ID。

我想 - 如果有任何子项,则禁止删除父行 - 禁止编辑parent_id的子项 - 如果由于某种原因parent_id发生变化,则必须在字段parent_id

上更新所有子行

如何创建外键?

1 个答案:

答案 0 :(得分:1)

思考应该像下面这样

create contraint `my_foreign_key`
FOREIGN KEY (parent_id)
REFERENCES my_table(id)
ON DELETE RESTRICT
ON UPDATE CASCADE