在phpMyAdmin中添加约束

Ale*_*lex 17 mysql foreign-keys phpmyadmin relational-database

我觉得我是傻瓜,但我无法在phpMyAdmin接口上的任何地方找到为外键添加约束,例如CASCADE ON DELETE

我在这里和phpMyAdmin wiki上找了类似的问题,但我找不到任何关于它的东西.

我意识到我可以通过查询界面做到这一点,但我想知道如何通过图形界面来做到这一点.

小智 33

首先,您应该将您的存储引擎作为InnoDB.然后选择一个表格并转到"结构"选项卡.

在表格下方,您将看到"关系视图",单击它.从那里你可以添加约束.


小智 8

级联

每当删除(引用)表中的主(引用)表中的行时,具有匹配外键列的子(引用)表的相应行也将被删除(分别更新).这称为级联删除(resp.update [2]).

限制

当引用引用表中的值的外键表中存在行时,无法更新或删除值.类似地,只要从外键表中引用了行,就不能删除该行.

没有行动

没有行动和限制是非常相似的.NO ACTION和RESTRICT之间的主要区别在于,在没有操作的情况下,在尝试更改表之后进行参照完整性检查.在尝试执行UPDATE或DELETE语句之前,RESTRICT会进行检查.如果引用完整性检查失败,则两个引用操作的行为都相同:UPDATE或DELETE语句将导致错误.

SET NULL

更新或删除引用的行时,引用行中的外键值设置为NULL.只有在引用表中的相应列可以为空时,才可以执行此操作.由于NULL的语义,外键列中具有NULL的引用行不需要引用的行.