在phpMyAdmin中添加约束条件
问题描述:
我觉得我很愚蠢,但是我无法在phpMyAdmin界面的任何位置找到向外键添加约束的地方,例如, CASCADE ON DELETE在phpMyAdmin中添加约束条件
我在这里和phpMyAdmin wiki上找过类似的问题,但是我找不到任何关于它的东西。
我意识到我可以通过查询界面来做到这一点,但我想知道如何通过图形界面来做到这一点。
答
CASCADE
每当在主(参考)表行被删除(相应的更新),孩子的各行(引用)有匹配的外键列的表会被删除(RESP。更新)。这称为级联删除(resp。update [2])。
RESTRICT
时引用在引用表中的值的外键表中存在行的值不能被更新或删除。同样,只要从外键表中引用该行,就不能删除该行。
NO ACTION
NO ACTION和制约非常相像。 NO ACTION和RESTRICT的主要区别在于,在NO ACTION中,参照完整性检查是在尝试更改表后完成的。 RESTRICT在尝试执行UPDATE或DELETE语句之前执行检查。如果参照完整性检查失败,那么这两个参照行为的作用相同:UPDATE或DELETE语句将导致错误。
SET NULL
引用行中的外键值设置为NULL当引用的行被更新或删除。这只有在引用表中的相应列可以为空时才有可能。由于NULL的语义,外键列中带有NULL的引用行不需要引用行。
[在phpMyAdmin中设置外键?]可能重复(http://*.com/questions/459312/setting-up-foreign-keys-in-phpmyadmin) – 2012-02-29 13:11:00
我发现它并没有'帮助。现在问题解决了。 – Alex 2012-02-29 13:24:40
哦,是的,这两个表(具有FK和引用的那个应该是InnoDB,或者在另一个事务引擎中)。 – 2012-02-29 13:27:10