当前位置: 首页 > news >正文

去类似美团网站做软件开发安徽省建设工程信息网站进不了

去类似美团网站做软件开发,安徽省建设工程信息网站进不了,渭南做网站价格,好看的图案设计触发器 简介 触发器用于直接在某种操作后(数据的增删改查等),通过事件执行设置触发器时的 sql 语句,具有原子性。 可通过 sql 语句直接编写,关键词:CREATE TRIGGER 触发器名称。 例如:在表 st…

触发器

简介

触发器用于直接在某种操作后(数据的增删改查等),通过事件执行设置触发器时的 sql 语句,具有原子性。
可通过 sql 语句直接编写,关键词:CREATE TRIGGER 触发器名称。
例如:在表 student 上,创建触发器 test (CREATE TRIGGER test),在新增一行数据之后(AFTER INSERT),根据 student 的 classId ,在表 class 中,找到 id 所在行,设置 number + 1。

DELIMITER $$
$$
CREATE TRIGGER `test`
AFTER INSERT
ON student FOR EACH ROW
BEGIN UPDATE class set number = number + 1 WHERE id = NEW.classId;
END
$$
DELIMITER ;

后面方便,直接使用 Dbeaver 创建触发器

NEW和OLD

这两个关键词是 mysql 设定的两张临时表名

触发器NEWOLD
insert表示将要(BEFORE)或者已经(ALTER)插入的数据×
delete×表示将要(BEFORE)或者已经(ALTER)删除的数据
update表示将更新后的数据表示更新前的数据

例子

新建表 学生student 、班级class
student表
class表

insert

  • AFTER INSERT,插入之后触发
    如:新增一名学生,对应班级number + 1
    1、创建触发器:
    创建触发器1
    创建触发器2
    触发器内容
    sql 语句写于BEGIN 和 END 之间。因为是在student 表上的插入后触发ALTER INSERT ,我们要更新 class 表,设置number 列的值+1,条件是student 插入数据后,新的student临时表(NEW)的classId,等于= class表的 id 。

执行
2、执行后:
执行后
3、测试:
在表student 新增一个学生,学生的classId,指定是class 表的火箭班的id=3
插入数据
这时候查看class 表,是否火箭班对应的number变为了1
查看结果

  • BEFORE INSERT,插入之前触发
    如:新增一名学生前,先查询该学生名称如果是“小六”,则提示“请输入正确的姓名!”
    从MySQL 5.5开始,您可以使用SIGNAL语法抛出异常:
signal sqlstate '45000' set message_text = 'My Error Message';

状态45000是表示"未处理的用户定义的异常"的通用状态

1、创建触发器:
在这里插入图片描述
2、测试:
添加名为“小六”的学生失败
在这里插入图片描述
正常添加一个学生:
在这里插入图片描述
到这里,目前存在了两个触发器在student表中
在这里插入图片描述
mysql中,执行顺序:BEFORE触发器->增删该操作->ALTER触发器
所以在经过addStudent BEFORE INSERT 触发器判断后,将要插入student 的数据,也会经过addClassNumber 触发器,
在class 的number + 1
在这里插入图片描述

delete

  • AFTER DELETE
    如:删除一名学生之后,class 表对应的 班级number - 1
    1、创建触发器
    在这里插入图片描述
    2、测试:
    删掉普通班的王五和赵六
    在这里插入图片描述
    现在普通班只剩下1人张三
    在这里插入图片描述

  • BEFORE DELETE
    如:删除相应的班级之前,查询该班是否还有学生,如果有,就提示无法删除
    1、在class 上创建触发器
    在这里插入图片描述
    在这里插入图片描述
    2、测试:
    删除普通班
    在这里插入图片描述
    删除重点班:
    在这里插入图片描述

update

关于update的就不多说了,可以在更新学生student 表的classId后,也在class 表的对应班级number + 1基本的逻辑都类似,更多的是根据业务来选择及编写触发器。
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
写到这里,暂时完成了触发器的简单使用。后续有需要在继续更新上来。

可以看看我的个人博客:
网站:https://www.fuzm.wang / https://liwangc.gitee.io
—————————————————————————
作为初学者,很多知识都没有掌握,见谅,如有错误请指出,以期进步,感谢!。后续有新的学习,继续补充上来。

http://www.yayakq.cn/news/551997/

相关文章:

  • 网站建设主要考虑哪些因素asp网站关键字
  • 惠东网站开发标智客logo设计免费生成
  • 海淀西北旺网站建设土巴兔装修公司
  • asp网站打不开做网站需要哪些工具
  • 聊城专业网站建设制作网站中文名要注册的吗
  • 太仓网站建设平台怎样查看网站服务商
  • 网页建站分为几个类型中文网站的英文
  • wordpress google站内搜索google推广技巧
  • 个人网站策划书模板婺源网站建设wyjcwl
  • 网站获取访客qq 原理cad图做网站链接
  • 汕头网站建设公司哪个好网站被入侵别人是怎么做跳转的
  • wikidot网站怎么做 天堂最新版在线资源
  • 和城乡建设部网站有哪些黄页网不付费
  • 护肤品网站建设需求分析现在制作网页用什么软件
  • 网站设计北京新启东网站建设
  • 网页素材网站免费北京简网世纪科技有限公司
  • 邢台网站关键词搜索站长工具
  • 成都学网站建设网站建设胶州家园
  • 安阳河南网站建设长春网站优化实战
  • 如何不用代码做网站织梦后台点击网站主页
  • 长沙学做网站建设网站运营怎样做
  • 做农村电子商务的网站有哪些做网站主流网站
  • 绵阳网站定制wordpress编辑新页面代码
  • 有什么推荐做简历的网站如何制作外贸网站 wordpress
  • 我有服务器怎么做网站汕头h5建站
  • 阿里云共享云主机做网站做个小程序
  • 公司网站建设的泰国网站的域名
  • 小江网站建设公司天津关键词优化效果
  • 网站建站基本要素建设主管部门官方网站
  • 2015年做哪个网站致富网络游戏下载平台