如何添加“ON DELETE CASCADE”

时间:2016-05-30 17:44:54

标签: mysql sql phpmyadmin

我已经拥有了我的外键等等。我只需要添加 ON DELETE CASCADE 选项。我怎样才能做到这一点? 更改表的内容? 我正在使用phpmyadmin的mysql

3 个答案:

答案 0 :(得分:1)

我不知道您使用的是哪个版本的phpMyAdmin,但是在4.5.2版本中,如果您想在不手动编写SQL查询的情况下执行此操作,它的工作原理如下:

  1. 选择您的表格
  2. 转到Structure标签
  3. 转到Relation view“子标签”
  4. 定义约束
  5. 保存更改
  6. 请注意,MyISAM存储引擎无法实现这一点(我的安装似乎是默认存储引擎),您必须选择InnoDB存储引擎:

    1. 选择您的表格
    2. 转到Operations标签
    3. Storage Engine更改为InnoDB
    4. 保存
    5. 对于较旧的phpMyAdmin版本,我知道它略有不同,因为Relation view可通过表格结构下方的链接访问。

答案 1 :(得分:0)

不幸的是,您只能使用alter table创建和删除约束,您无法更改现有约束。也没有单独的alter constraint命令。因此,您只需删除外键并重新创建它,添加on delete cascade子句。

答案 2 :(得分:0)

最简单的方法是删除当前约束并使用ON DELETE

添加新约束

要删除:ALTER TABLE mytable DROP FOREIGN KEY 'fk_anothertable'

然后再次创建它:

   ALTER TABLE mytable
   ADD CONSTRAINT 'fk_anothertable'
   FOREIGN KEY ('aColumn' )
   REFERENCES 'anotherTable' ('aColumn' )
   ON DELETE CASCADE