MySQL:简述MySQL外键约束

MySQL:简述MySQL外键约束MySQL 简述 MySQL 的外键约束 MySQL 有两种常用的引擎类型 MyISAM 和 InnoDB 目前只有 InnoDB 引擎类型支持外键约束 1 外键约束的含义



MySQL:简述MySQL的外键约束

MySQL有两种常用的引擎类型:MyISAM和InnoDB。目前只有InnoDB引擎类型支持外键约束。

一、外键约束的含义:
      1. 外键约束对子表的含义:当在子表中insert或update一条数据时,如果在主表中找不到候选键,那么就不允许该操作。
      2. 外键约束对主表的含义:当在主表中insert或update数据时,如果主表的候选键对应的有子表的外键值,那么就不允许该操作。
  
二、外键约束的使用条件:
      1. 两张表必须都是InnoDB表,并且它们没有临时表。
      2. 建立外键关系的对应列必须具有相似的InnoDB内部数据类型。
      3. 建立外键关系的对应列必须建立了索引。
  
三、外键约束的动作:
      如果子表试图创建一个在父表中不存在的外键值,InnoDB会拒绝任何INSERT或UPDATE操作。
      如果父表试图UPDATE或者DELETE任何子表中存在或匹配的外键值,最终动作取决于外键约束定义中的ON UPDATE和ON DELETE选项。






















四、 外键约束的操作

       1. 外键约束的启动

SET FOREIGN_KEY_CHECKS = 1; 

       2. 外键约束的禁用

SET FOREIGN_KEY_CHECKS = 0; 
create table table_name ( 字段名1 字段属性1, 字段名2 字段属性2, 字段名3 字段属性3, [add constraint 外键name] foreign key (字段名) references 主表(主表主键名) ); create table table_name ( 字段名1 字段属性1, 字段名2 字段属性2, 字段名3 字段属性3 ); alter table table_name add constraint 外键name foreign key (字段名) references 主表(主表主键名); 

       4.外键约束的删除

alter table table_name drop 外键name; 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179330.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午3:50
下一篇 2026年3月26日 下午3:50


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号