如何利用MySQL数据库在插入数据后触发触发器

如何利用MySQL数据库在插入数据后触发触发器,第1张

第一步,创建数据库表t_class_info,利用创建表语句:

create table t_class_info(

id int(8),

t_no int(10),

t_name varchar(20),

t_addr varchar(60)

)

如下图所示

第二步,查看表t_class_info描述,利用命令:

desc t_class_info

如下图所示:

第三步,创建触发器info_tri,触发时间是在向表t_class_info插入数据后,触发事件是向表class_info中插入一条记录,如下图所示:

第四步,创建数据库表class_info,利用命令:

create table class_info(

id int(8),

t_no int(10),

t_name varchar(20),

t_addr varchar(60)

)

如下图所示:

第五步,查看class_info数据库表结构,利用命令:

desc class_info

如下图所示:

6

第六步,查看数据库表t_class_info和class_info数据,发现两张没有数据,这时调用插入语句,向数据库表t_class_info里插入一条记录,并查看数据库表class_info是否新增记录,如下图所示:

我的表结构如下:

create table students(id int auto_increment,

name varchar(10) not null DEFAULT '',

age int not null DEFAULT 0,

sex varchar(2) not null DEFAULT '',

studId varchar(18) not null DEFAULT '',

PRIMARY KEY (`id`))

触发器:

DELIMITER $$

CREATE TRIGGER `students_insert` BEFORE INSERT ON `students`

FOR EACH ROW

BEGIN

if mod(substring(new.studId,17,1),2)=0 then

set new.sex = '女'

else

set new.sex = '男'

end if

END

$$

DELIMITER

以上程序已测试通过,

另外友情提醒一下,在触发器中处理这个判断,效率不高,最好在程序中处理这部分逻辑.

使用Mysql新建触发器的方法:

1、首先,需要确定自己的Mysql数据库的版本,因为my sql数据库是从5.0.2版本才开始支持触发器的。

2、在电脑的dos命令界面中输入 mysql --version,来获取mysql的版本号,注意version的两个横线和之前的mysql是有一个空格的。

3、上一步获取了mysql版本号,就开始建立触发器。采用以视图加代码的方式创建,在数据表中找到要执行删除 *** 作的表,然后右键设计表

4、这样就打开了表的设计页面,可以看到有一个触发器选项卡,点击“触发器”

5、可以看到对应的选项,在名里面添加需要新建的触发器的名字,在触发选项中选择before或者after,然后在插入、更新、删除三个选项中勾选一个。

6、这样们就建立了一个名为“datri”的触发器,在删除 *** 作执行之后触发

7、然后在下面的定义下面的框中输入需要执行的 *** 作。然后点击sql预览,可以看到整个触发器的代码

8、最后就是保存了,由于做的是触发器,保存之后,在执行删除 *** 作时,这个触发器才相当于被执行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6156266.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存