使用Navicat 设定 sql 触发器

tech2022-09-18  103

本片博客讲述如何用naticat设定sql触发器,并且将类型为datatime的时间分割为年、月、日、今年的第几周。

一、建表

新建表aaa和bbb

表aaa字段:

表bbb字段:

二、设置触发器

我是在bbb表设置触发器,来关联aaa表改变数据

1、选中 bbb表 右击打开 设计表 ,选择触发器选项

2、添加触发器

名字是由自己起的,触发有两种选择 (After和Before),表示在此操作之前或者之后触发该触发器,然后选择是那种操作会触发该触发器。

例如

插入之后触发(如上图显示):

在下面的定义栏中写入触发操作,以begin开始,end结束。

中间写触发的sql语句,我写的触发器是当bbb表插入一条数据时,bbb表中的school字段插入aaa表中的name字段值,还把bbb表中的time字段分割为年、月、日、今年的第几周存入aaa表中

begin insert into aaa(name,year_num,month_num,day_num,week_num) values(new.school,date_format(new.time,'%Y'),date_format(new.time,'%m'),date_format(new.time,'%d'),WEEK(new.time)); end

触发器中的sql语句会有NEW和OLD出现

NEW 表示 新插入的数据

OLD  表示 原来的数据, 所以当bbb表进行插入触发时不能使用OLD,因为没有原来的数据

3、效果展示

bbb表:

aaa表:

最新回复(0)