我觉得自己很傻,但我无法在phpMyAdmin接口上的任何地方找到向外键添加约束,例如CASCADE ON DELETE
我在这里以及phpMyAdmin wiki上找了类似的问题,但我找不到任何关于它的信息。
我意识到我可以通过查询界面做到这一点,但我想知道如何通过图形界面来做到这一点。
答案 0 :(得分:31)
首先,您应该将您的存储引擎作为InnoDB。然后选择一个表并转到“结构”选项卡。
在表格下方,您会看到“关系视图”,点击它。从那里你可以添加约束。
答案 1 :(得分:8)
<强> CASCADE 强>
每当删除(引用)表中的主(引用)表中的行时,具有匹配外键列的子(引用)表的相应行也将被删除(分别更新)。这称为级联删除(resp.update [2])。
<强> RESTRICT 强>
当引用引用表中的值的外键表中存在行时,无法更新或删除值。同样,只要从外键表中引用了一行,就无法删除该行。
无行动
没有行动和限制是非常相似的。 NO ACTION和RESTRICT之间的主要区别在于,在没有操作的情况下,在尝试更改表之后进行参照完整性检查。在尝试执行UPDATE或DELETE语句之前,RESTRICT会进行检查。如果引用完整性检查失败,则两个引用操作的行为都相同:UPDATE或DELETE语句将导致错误。
SET NULL
更新或删除引用的行时,引用行中的外键值设置为NULL。只有在引用表中的相应列可以为空时,才可以执行此操作。由于NULL的语义,外键列中带有NULL的引用行不需要引用的行。
答案 2 :(得分:0)
首先,您应该选择存储引擎作为InnoDB。
按照这种方式:单击database_name->更多-> Designer