一张表中可以有多个外键。

外键的默认作用有两点:

1.对子表(外键所在的表)的作用:子表在进行写操作的时候,如果外键字段在父表中找不到对应的匹配,操作就会失败。

2.对父表的作用:对父表的主键字段进行删和改时,如果对应的主键在子表中被引用,操作就会失败。

外键的定制作用----三种约束模式:

district:严格模式(默认), 父表不能删除或更新一个被子表引用的记录。

cascade:级联模式, 父表操作后,子表关联的数据也跟着一起操作。

set null:置空模式,前提外键字段允许为NLL, 父表操作后,子表对应的字段被置空。

使用外键的前提:

1. 表储存引擎必须是innodb,否则创建的外键无约束效果。

2. 外键的列类型必须与父表的主键类型完全一致。

3. 外键的名字不能重复。

4. 已经存在数据的字段被设为外键时,必须保证字段中的数据与父表的主键数据对应起来。

二、新增外键

1. 在创建时增加

create table my_tab1(

id int primary key auto_increment,

name varchar(10) not null,

class int,

foreign key(class) references my_tab2(主键字段名);

)charset utf8;

2. 在创建好的表中增加

alter table my_tab1 add [constraint 外键名] foreign key(外键字段名) references mytab2(主键字段名);

三、删除外键

alter table my_tab drop foreign key 外键名字;

Java数据库foreign,mysql中的外键foreign key 作者:Java_xb相关推荐

  1. MySQL中包含外键无法删除数据的解决方案

    1.在数据库连接信息加入以下代码,意思就是允许执行多语句查询. allowMultiQueries=true 2.在删除语句前面加上SET FOREIGN_KEY_CHECKS=0; 意思就是取消My ...

  2. MySQL中的外键(foreign key)

    引言 在MySQL中,我们都对主键比较了解,知道主键的主要作用是唯一区分表中的各个行:但是,对于外键(foreign key) 比较陌生.那么什么是外键呢?外键的作用是什么呢? 一.外键.外键作用及其 ...

  3. mysql外键约束案例_详解MySQL中的外键约束问题

    使用MySQL开发过数据库驱动的小型web应用程序的人都知道,对关系数据库的表进行创建.检索.更新和删除等操作都是些比较简单的过程 .理论上,只要掌握了最常见的SQL语句的用法,并熟悉您选择使用的服务 ...

  4. mysql中的外键约束_MySQL外键约束

    在本教程中,您将了解MySQL外键(foreign key)以及如何在MySQL中创建,添加和删除外键约束. MySQL外键简介 外键表示一个表中的一个字段被另一个表中的一个字段引用.外键对相关表中的 ...

  5. MySQL数据库(25):外键 foreing key

    外键 foreing key 外键表示了两个实体之间的联系 外键 foreing key: A表中的一个字段的值指向另B表的主键 B: 主表 A: 从表 主表:主键(主关键字) = 从表:外键(外关键 ...

  6. mysql中通过外键创建表与表之间的关系

    写个学生表(主表)和成绩表(从表),他们之间的关系是一对多,在从表中创建个字段并把它指定为外键与主表中的主键关联起来. 创建学生表 create table student(id int primar ...

  7. mysql中的foreignkey的作用_mysql中的外键foreign key

    一.如果一张表中有一个非主键的字段指向了别一张表中的主键,就将该字段叫做外键. 一张表中可以有多个外键. 外键的默认作用有两点: 1.对子表(外键所在的表)的作用:子表在进行写操作的时候,如果外键字段 ...

  8. mysql外键约束脚本_如何在MySQL中设置外键约束

    (1) 外键的使用: 外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加ER图的可读性 有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库 ...

  9. 如何在MySQL中设置外键约束

    MySql外键设置详解 (1) 外键的使用: 外键的作用,主要有两个:     一个是让数据库自己通过外键来保证数据的完整性和一致性     一个就是能够增加ER图的可读性     有些人认为外键的建 ...

最新文章

  1. 开玩笑写代码获奥斯卡?计算机图形专家这样 5 次捧回大奖!
  2. Xamarin.Android 使用 SQLite 出现 Index -1 requested, with a size of 10 异常
  3. [转载]在VirtualBox中收缩虚拟磁盘映像文件
  4. CF-1023F.Mobile Phone Network(并查集缩点)
  5. JAVA 框架-Spring-AOP面向切面
  6. matplotlib text 文字处理
  7. idea 添加配置文件 绿叶子
  8. Linux 查找进程与结束进程
  9. java后端做教育视频网站源码_基于 Java Spring cloud的开源在线教育系统调试实战...
  10. Mathematica图像处理
  11. 数据库-内外连接及左右连接的区别
  12. 笔记本蓝牙显示输入码无效_蓝牙键盘输入码错误无法连接笔记本(win10)
  13. 苹果电脑入门:必须掌握的快捷键
  14. 2018最新精选的Go框架,库和软件的精选列表 三
  15. presentViewController: 如何不覆盖原先的 viewController界面
  16. C/C++ 创建多级文件夹(mkdir)
  17. eclipse自动排版快捷键 按了没有用 的解决办法
  18. linux ps -ef和ps -aux,关于Linux中ps -aux的深入理解
  19. [Python] Python 获取中文的首字母 和 全部拼音首字母
  20. ChatGPT中GPT三个字母到底是什么意思

热门文章

  1. 第一个SpringBoot程序(详细解析Grounp、Artifact等项目信息含义)
  2. TensorFlow优化器及用法
  3. TensorRT Analysis Report分析报告
  4. 提高智能家居设备的兼容性
  5. NVIDIA Jarvis:一个GPU加速对话人工智能应用的框架
  6. ViewGroup的Touch事件分发(源码分析)
  7. 2021年大数据Spark(十二):Spark Core的RDD详解
  8. CentOS7 php7.0 升级到php7.3
  9. oracle查看数据库字符编码,oracle 查看、批改字符集编码
  10. TypeError: showInformation() missing 1 required positional argument: ‘self‘