mysql SQL设置外键约束ON DELETE CASCADE

第一步:删除原有的外键约束

ALTER TABLE child_table DROP FOREIGN KEY `FK_Reference_2` ;

第二步:添加新的外键约束,增加ON DELETE CASCADE

ALTER TABLE child_table
  ADD CONSTRAINT `FK_Reference_2`
  FOREIGN KEY (`parent_id` )
  REFERENCES parent_table (`parent_id` )
  ON DELETE CASCADE
  ON UPDATE RESTRICT;

这样,就可以达到删除父节点的时候,自动删除子节点的目的了。

时间: 2025-01-05 00:46:13

mysql SQL设置外键约束ON DELETE CASCADE的相关文章

【转】MySQL外键约束On Delete、On Update各取值的含义

转载地址:http://hi.baidu.com/jxqlovejava/item/3d2cc5b5d689917c244b0920 ? 先看On Delete属性,可能取值如上图为:No Action, Cascade,Set Null, Restrict属性. 当取值为No Action或者Restrict时,则当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除. 当取值为Cascade时,则当在父表(即外键的来源表)中删除对应记录时,首先检查该记录

[转载]SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束

Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构. 解决方法是在Mysql中取消外键约束:  SET FOREIGN_KEY_CHECKS=0; 然后将原来表的数据导出到sql语句,重新创建此表后,再把数据使用sql导入, 然后再设置外键约束: SET FOREIGN_KEY_CHECKS=1;

MySQL truncate含有外键约束的条目报错

1.报错信息: Cannot truncate a table referenced in a foreign key constraint 2.出现错误操作: truncate table a1; 为什么使用truncate? 使用truncate可以清空表数据,而且可以使自增列重置. 3.解决方法 在MySQL中取消外键约束:set foreign_key_checks=0; 执行truncate table a1; 之后在设置外键约束:set foreign_key_checks=1; 原

MySQL学习9:详解MySQL中的外键约束

本篇主要讲解MySQL中的外键约束. 一约束概述 创建约束的目的就是保证数据的完整性和一致性.约束根据约束针对的字段的数目的多少划分为表级约束和列级 约束. 如果约束按照功能来划分的话刻印划分为:NOT NULL(非空约束).PRIMARY KEY(主键约束).UNIQUE KEY(唯一约束).DEFAULT(默认约束)和FOREIGN KEY(外键约束). 在前面我们已经初步涉及到了除外键约束之外的四个约束,这一次我们来谈谈最复杂的外键约束. 二外键约束的要求 FOREIGN KEY(外键约束

mysql设置外键约束开启-关闭

在MySQL中删除一张表或一条数据的时候,出现 [Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails (...) 这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据.可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况.   我们可以使用     SET FOREIGN_KEY_CHECKS=0;来禁用外键约束. 之后再用    SET FOREIG

(转)mysql 无法设置外键的原因总结

在Mysql中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因. 1.  两个字段的类型或者大小不严格匹配.例如,如果一个是int(10),那么外键也必须设置成int(10),而不是int(11),也不能是tinyint.另外,你还必须确定两个字段是否一个为 signed,而另一个又是unsigned(即:无符号),这两字段必须严格地一致匹配,更多关于signed和unsigned的信息,请参阅:http://www.

mysql关闭/启用外键约束

1.有时为了导入数据方便,需要临时关闭外键约束mysql>SET FOREIGN_KEY_CHECKS=0; 2.打开外键约束mysql>SET FOREIGN_KEY_CHECKS=1; 3.查看FOREIGN_KEY_CHECKS变量mysql>select @@FOREIGN_KEY_CHECKS; =-=-=-=-=Powered by Blogilo

mysql数据库导入外键约束问题

在网站搬迁过程中,很重要一点是数据的迁移.你的数据库可能已经包含了一个设计良好的数据表集合,并且在网站运营过程中,产生了重要的数据.这时你必须做好包含数据表schema以及数据本身的迁移. 完成上述数据库的迁移,最方便的方法是导出和导入.但是问题是,在导入时,由于数据表本身之间的foreign key外键约束,而导致创建数据无法成功. 临时的解决办法是: mysql> set @@global.foreign_key_checks = 0; 在导入完毕后 mysql> set @@global

mysql数据库,外键约束和表关系

E-R 图 (实体关系模型) E-R图也称实体-联系图(Entity Relationship Diagram), 提供了表示实体类型.属性和联系的方法,用来描述现实世界的概念模型. 它是描述现实世界关系概念模型的有效方法. 是表示概念关系模型的一种方式. 用"矩形框"表示实体型,矩形框内写明实体名称: 用"椭圆图框"表示实体的属性,并用"实心线段"将其与相应关系的"实体型"连接起来: 用"菱形框"表示实体