文档章节

外键(FOREIGN KEY)

 小贵子_IOS
发布于 2016/07/11 16:30
字数 285
阅读 60
收藏 0

1、只有InnoDB类型的表才可以使用外键。mysql默认是MyISAM,这种类型不支持外键约束

2、外键的好处:保证数据的一致性和完整性并实现一些级联操作。

3、创建的步骤

要使用外键必须为这个列名建立索引,去外键的数据类型要与引用表中数据类型一致

指定主键关键字: foreign key(列名),

引用外键关键字: references <外键表名>(外键列名)。

事件触发限制:on deleteon update , 可设参数cascade(跟随外键改动)。
restrict(限制外表中的外键改动),set Null(设空值),set Default(设置默认值)。
[系统默认]no action

4、举例

outTable表 主键 id 类型 int

创建含有外键的表:

代码如下:
create table temp(
id int,
name 
char(20),
foreign key(id) references table_name(id) on delete cascade on update cascade);

说明:把id列 设为外键 参照外表table_name的id列 当外键的值删除 本表中对应的列筛除 当外键的值改变 本表中对应的列值改变。

© 著作权归作者所有

共有 人打赏支持
上一篇: Linux命令行
下一篇: PHP图片上传
粉丝 0
博文 16
码字总数 6912
作品 0
松江
私信 提问
mysql 使用foreign key(外键) 插入约束

实验: //创建父表,并添加索引 CREATE TABLE parent(id INT,msg VARCHAR(200), INDEX indexid(id)); //查看索引 SHOW INDEX FROM parent; //创建子表(外键) CREATE TABLE child (cid INT,......

被啃的窝瓜
2017/05/12
0
0
补12.关于mysql的外键约束

一、什么是mysql中的外键(froeign key) 假如说有两张表,其中一张表的某个字段指向了另一张表的主键,这就可以称之为外键(froeign key)。 在子表中增加一条记录时,需要确定是否有与父表相...

苏浩智
2017/06/06
0
0
mysql foreign key(外键) 说明与实例

mysql foreign key(外键) 说明与实例 一,什么是foreign key,及其完整性 个人觉得,foreign key就是表与表之间的某种约定的关系,由于这种关系的存在,我们能够让表与表之间的数据,更加的完...

henosteven
2012/08/27
0
0
Spring boot中Hibernate调整外键问题

问题 重启spring boot,把找不到外键。 排查过程 通过工具,无意间看到一个叫FKbenmnokfsg4w0dajvjk9pvnrr的索引,这个名字和控制台报错很类似,然后,沿着这个索引去看对应的表和对应的字段...

亚林瓜子
10/25
0
0
MySQL(十五)DDL之常见的约束

一、常见的约束 NOT NULL:非空,该字段的值必填 UNIQUE:唯一,该字段的值不可重复 DEFAULT:默认,该字段的值不用手动插入有默认值 PRIMARY KEY:主键,该字段的值不可重复并且非空 unique...

leeqico
05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis 中$与#的区别,预防SQL注入

一直没注意Mybatis 中$与#的区别,当然也是更习惯使用#,没想到避免了SQL注入,但是由于要处理项目中安全渗透的问题,不可避免的又遇到了这个问题,特此记录一下。 首先是共同点: 在mybatis...

大雁南飞了
8分钟前
0
0
Cydia的基石:MobileSubstrate

在MAC与IOS平台上,动态库的后缀一般是dylid,而加载这些动态库的程序叫做dynamic linker(dyld)。这个程序有很多的环境变量来设置程序的一些行为,最为常用的一个环境变量叫做"DYLD_INSERT_...

HeroHY
10分钟前
0
0
Spring Clould负载均衡重要组件:Ribbon中重要类的用法

Ribbon是Spring Cloud Netflix全家桶中负责负载均衡的组件,它是一组类库的集合。通过Ribbon,程序员能在不涉及到具体实现细节的基础上“透明”地用到负载均衡,而不必在项目里过多地编写实现...

Ala6
20分钟前
0
0
让 linux 删除能够进入回收站

可以参考这个贴子 https://blog.csdn.net/F8qG7f9YD02Pe/article/details/79543316 从那个git地址 把saferm.sh下载下来 把saferm.sh复制到 /usr/bin 目录下 在用~/目下 的.bashrc 下加一句这...

shzwork
29分钟前
0
0
Qt那些事0.0.9

关于QThread,无F*k说的。文档说的差不多,更多的是看到很多人提到Qt开发者之一的“你TM的做错了(You're doing it wrong...)”,这位大哥2010年写的博客,下面评论很多,但主要还是集中在2...

Ev4n
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部