我已经拥有了我的外键等等。我只需要添加 ON DELETE CASCADE 选项。我怎样才能做到这一点? 更改表的内容? 我正在使用phpmyadmin的mysql
答案 0 :(得分:1)
我不知道您使用的是哪个版本的phpMyAdmin,但是在4.5.2版本中,如果您想在不手动编写SQL查询的情况下执行此操作,它的工作原理如下:
Structure
标签Relation view
“子标签”请注意,MyISAM
存储引擎无法实现这一点(我的安装似乎是默认存储引擎),您必须选择InnoDB
存储引擎:
Operations
标签Storage Engine
更改为InnoDB
对于较旧的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