博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL级联删除的问题
阅读量:6149 次
发布时间:2019-06-21

本文共 992 字,大约阅读时间需要 3 分钟。

hot3.png

一、FOREIGN KEY 的定义分为两种:列级约束和表级约束 2 1、列及约束的话,可以在列定义的同时,定义外键约束
二、如果之前表已经存在,要给其中一个列添加约束的话,就属于alter操作了
如果在你添加之前,B1已经有了外键约束,那么就要先删除之前的约束,再添加,否则是不成功的

 

什么叫级联删除?

外键的级联删除:如果父表中的记录被删除,则子表中对应的记录自动被删除

父表——被外键引用的表

子表——引用父表中的健作为外健的表

 

on updata 参数 、 on delete 参数

复制代码

这是数据库外键定义的一个可选项,用来设置当主键表中的被参考列的数据发生变化时,外键表中响应字段的变换规则的。update 则是主键表中被参考字段的值更新,delete是指在主键表中删除一条记录:on update 和 on delete  后面可以跟的词语有四个no action  , set null ,  set default  ,cascadeno action 表示 不做任何操作,set null    表示在外键表中将相应字段设置为nullset default 表示设置为默认值cascade 表示级联操作,就是说,如果主键表中被参考字段更新,外键表中也更新,主键表中的记录被删除,外键表中改行也相应删除

 

一个表只能有一个主键,一个主键又可以分为保存单个字段(单字段键)与多字段(叫联合主键)

外键:

好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作

作用:保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值!

 

 

 

父表代码:

1  create table 工程职工工时表(2      工程ID integer,3      姓名 varchar(20) not null,4      primary key(工程ID)5      );

子表代码:

1  create table haha(2      工程ID integer,3     foreign key(工程ID) references 工程职工工时表(工程ID) on delete cascade on update cascade);

转载于:https://my.oschina.net/u/3503268/blog/1924855

你可能感兴趣的文章
多路归并排序之败者树
查看>>
java连接MySql数据库
查看>>
转:Vue keep-alive实践总结
查看>>
深入python的set和dict
查看>>
C++ 11 lambda
查看>>
Hadoop2.5.0 搭建实录
查看>>
实验吧 recursive write up
查看>>
Android JSON数据解析
查看>>
DEV实现日期时间效果
查看>>
java注解【转】
查看>>
Oracle表分区
查看>>
centos 下安装g++
查看>>
嵌入式,代码调试----GDB扫盲
查看>>
类斐波那契数列的奇妙性质
查看>>
下一步工作分配
查看>>
Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)
查看>>
Wait Functions
查看>>
代码描述10313 - Pay the Price
查看>>
jQuery最佳实践
查看>>
centos64i386下apache 403没有权限访问。
查看>>