如何在表上添加删除约束?
发布于 2011-01-15 02:19:53
使用ALTER TABLE+ADD约束。例如,如果您想通过member_id链接表成员和配置文件,并在每次删除成员时级联删除配置文件,则可以编写如下内容:
ALTER TABLE profiles
ADD CONSTRAINT `fk_test`
FOREIGN KEY (`member_id` )
REFERENCES `members` (`member_id` )
ON DELETE CASCADE如果您需要更新该约束-您将不得不在删除它,然后重新创建,没有直接的方法来改变它。
ALTER TABLE profiles DROP FOREIGN KEY `fk_test`发布于 2016-10-26 23:12:18
如果外键已经创建,有一个技巧对我有效。您可以修改数据库的转储,并使用修改后的内容再次导入。
如果您使用的是Mysql和Linux shell,它将如下所示:
首先,导出您的数据库:
$ mysql -u <user> -p <namedatabase> > database.sql然后,打开database.sql文件并查找要更改的表。
在外键语句的末尾添加ON DELETE CASCADE并保存。
其次,导入您的数据库,并进行修改:
$ mysql -u <user> -p <namedatabase> < database.sql这样你的ON DELETE级联就可以工作了。
https://stackoverflow.com/questions/4688599
复制相似问题