千家信息网

SQL触发器的作用是什么

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章为大家展示了SQL触发器的作用是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。触发器的作用1、安全性,可以基于数据库的值使用户具有操作数据库的某种
千家信息网最后更新 2026年11月02日SQL触发器的作用是什么

本篇文章为大家展示了SQL触发器的作用是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

触发器的作用

  1、安全性,可以基于数据库的值使用户具有操作数据库的某种权利。

  2、审计,可以跟踪用户对数据库的操作。

  3、实现复杂的非标准的数据库相关完整性规则,触发器可以对数据库中相关的表进行连环更新。

  4、触发器能够拒绝或回退那些破坏相关完整性的变化,取消试图进行数据更新的事务。当插入一个与其主健不匹配的外部键时,这种触发器会起作用。

  5、同步实时地复制表中的数据

  6、自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。

  mysql中死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。表级锁不会产生死锁.所以解决死锁主要还是针对于最常用的InnoDB。

  死锁的关键在于:两个(或以上)的Session加锁的顺序不一致。

  那么对应的解决死锁问题的关键就是:让不同的session加锁有次序

  

mysql中死锁案例

  需求:将投资的钱拆成几份随机分配给借款人。

  起初业务程序思路是这样的:

  投资人投资后,将金额随机分为几份,然后随机从借款人表里面选几个,然后通过一条条select for update 去更新借款人表里面的余额等。

  例如两个用户同时投资,A用户金额随机分为2份,分给借款人1,2

  B用户金额随机分为2份,分给借款人2,1

  由于加锁的顺序不一样,死锁当然很快就出现了。

  对于这个问题的改进很简单,直接把所有分配到的借款人直接一次锁住就行了。

  Select * from xxx where id in (xx,xx,xx) for update

  在in里面的列表值mysql是会自动从小到大排序,加锁也是一条条从小到大加的锁

上述内容就是SQL触发器的作用是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

死锁 数据 触发器 借款人 作用 用户 两个 数据库 投资 进程 金额 更新 从小到大 从小 关键 内容 完整性 就是 技能 条条 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技海报 西安纸贵互联网科技有限公司 美国互联网保险保险科技 科技互联网政务服务 美国互联网科技 华中科技大学互联网 小马过河互联网科技 撒么互联网科技公司 人人互联网科技是培训 开启互联网科技时代小说 互联网系的金融科技公司 湖南一路畅行互联网科技 江阴互联网智能科技产品进口 新兴科技互联网创新大赛颁奖典礼 元气玛特互联网科技公司是外包吗 梅州GM互联网络科技有限公司 张召忠谈中国互联网科技 广州有谷有贝互联网科技有限公司 福建互联网展示科技馆设计 广西科技产业互联网是什么 易互联网科技有限公司 互联网 科技创新 亿策互联网科技 互联网科技与大数据专业 伍佰万互联网科技怎么赚钱 九思连强互联网电子科技有限公司 江苏互联网智能科技产品出厂价 优雇互联网科技有限公司 东风日产互联网科技公司叫什么 伍佰万互联网科技是干嘛的
0