数据库

 首页 > 数据库 > MySql > Mysql学习笔记(八)由触发器回顾外键约束中的级联选项

Mysql学习笔记(八)由触发器回顾外键约束中的级联选项

分享到:
【字体:
导读:
         摘要:近些天都没有写博客。在学习mysql的知识,通过学习和练习,也熟悉了mysql的函数、触发器、视图和存储过程。并且在实际的开发过程中也应用了一小部分。效果还是十分理想的。...

Mysql学习笔记(八)由触发器回顾外键约束中的级联选项

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

Mysql学习笔记(八)由触发器回顾外键约束中的级联选项
分享到:
mysql中常用的字符串函数可能有的朋友会...
mysql中常用的字符串函数可能有的朋友会担心mysql的性能不行   写在分割线之前,个人以为,数据库应该具备简单的的数据加工能力。如同食品在吃之前,是要经过很多到工序的,有经过初加工、粗加工、精加工、深加工等。那么mysql也应该并必须担任起数据初加工以及粗加工的责任。不能让所有数据处理的工作都交给PHP去做...
Mysql大数据量存储及访问的设计讨论
Mysql大数据量存储及访问的设计讨论     一、引言   随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……