Mysql学习笔记(八)由触发器回顾外键约束中的级联选项
2024-10-14 08:00:17
近些天都没有写博客。在学习mysql的知识,通过学习和练习,也熟悉了mysql的函数、触发器、视图和存储过程。并且在实际的开发过程中也应用了一小部分。效果还是十分理想的。
今天晚上在学习触发器模仿innodb的级联选项的时候,回顾到了前面的外键约束方面的知识。这一块,当时有学,但是没有练习多少,一些不会的知识点也没有理解。现在重新回过头来看看什么事外键的级联选项。
这个在实际的应用过程中作用还是比较大的。
比如产品的分类,删除大分类后,小分类自动删除。删除该商品后,该商品与之有关的信息要全部自动删除。
constraint 约束名 foreign key 表A(字段名) references 表B(字段名) [on delete 级联选项] [on update 级联选项];
级联选项有4种取值,其意义如下:
1、cascade : 瀑布串联的意思。父表记录delete或者update操作,会自动删除或修改子表中与之对应的记录。
2、no action : 父表记录delete 或者update操作,如果子表存在与之对应的记录,那么删除或者修改操作将失败。
3、set null : 父表记录delete 或者update操作,如果子表存在与之对应的记录,那么子表中对应的记录值将会设置为null。
4、restrict : 限制约束的意思。与no action 的功能相同。且为级联选项的默认值。
除了主键约束外,外键约束也可以是使用constraint 约束名 约束条件来进行。
最新文章
- iis配置js支持读取json文件配置
- 发表在 Science 上的一种新聚类算法
- [译]关于.NET Core1.1的通告
- Javaweb上下文监听者ServletContextListener
- 简单dp的状态转移方程集合
- 第五篇 SQL Server安全架构和安全
- 在HTML页面获取当前系统时间
- JavaScript面向对象编程指南
- iOS (catagroy)类别
- 初识NoSQL 快速认识NoSQL数据库 分析Analytics For Hackers: How To Think About Event Data
- Java的URL类(二)
- leetcode-Given a binary tree, find its minimum depth
- 第三方jar上传到Maven私服(Nexus)
- Python中cPickle
- 软件工程结对作业01 psp表格
- #if defined 和 #if ! defined 的用法
- html5 canvas(基本矩形)
- java8 - 5
- RocketMQ:Cannot allocate memory
- 关于DIV多层嵌套的margin-top的BUG