近些天都没有写博客。在学习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 约束名 约束条件来进行。

最新文章

  1. iis配置js支持读取json文件配置
  2. 发表在 Science 上的一种新聚类算法
  3. [译]关于.NET Core1.1的通告
  4. Javaweb上下文监听者ServletContextListener
  5. 简单dp的状态转移方程集合
  6. 第五篇 SQL Server安全架构和安全
  7. 在HTML页面获取当前系统时间
  8. JavaScript面向对象编程指南
  9. iOS (catagroy)类别
  10. 初识NoSQL 快速认识NoSQL数据库 分析Analytics For Hackers: How To Think About Event Data
  11. Java的URL类(二)
  12. leetcode-Given a binary tree, find its minimum depth
  13. 第三方jar上传到Maven私服(Nexus)
  14. Python中cPickle
  15. 软件工程结对作业01 psp表格
  16. #if defined 和 #if ! defined 的用法
  17. html5 canvas(基本矩形)
  18. java8 - 5
  19. RocketMQ:Cannot allocate memory
  20. 关于DIV多层嵌套的margin-top的BUG

热门文章

  1. [转]linux 系统监控、诊断工具之 IO wait
  2. 深入grootJs(进阶教程)
  3. kmp模板,线性完成pos
  4. Hadoop2.6.0伪分布环境搭建
  5. js滚动到底部事件
  6. iOS-- 快速集成iOS基于RTMP的视频推流
  7. 解决Eclipse项目图标上的红色感叹号,红叉
  8. 对象关系映射ORM
  9. Apache启动提示 httpd: apr_sockaddr_info_get() failed for xxx
  10. Echarts-画叠加柱状图,双折线图