在phpMyAdmin中添加约束

时间:2012-02-29 13:03:57

标签: mysql foreign-keys phpmyadmin relational-database

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

我在这里以及phpMyAdmin wiki上找了类似的问题,但我找不到任何关于它的信息。

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

3 个答案:

答案 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