如何测试mysql触发器和存储过程

  • 更新时间:2023-01-16 09:42:03
  • 编辑:郑妍彤
给大家整理了mysql相关的编程文章,网友莘弘致根据主题投稿了本篇教程内容,涉及到mysql触发器、存储过程相关内容,已被930网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

参考资料

正文内容

1. 为了测试触发器和存储过程,首先建立一张简单的表:
 

CREATE TABLE `airuser` (
`userId` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(128) NOT NULL,
PRIMARY KEY (`userId`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8

2. 为该表的插入操作,创建一张记录表:
 

CREATE TABLE `airuser_record` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(45) DEFAULT NULL,
`edittime` timestamp NULL DEFAULT NULL,
`edittype` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

3. 编写一个插入操作的触发器:
 

DROP TRIGGER insert_trigger;
delimiter |
CREATE TRIGGER insert_trigger BEFORE INSERT ON airuser
FOR EACH ROW BEGIN
INSERT INTO airuser_record SET username = NEW.username, edittime=now(), edittype='insert';
END;

SHOW TRIGGERS;

4. 为批量插入编写存储过程:
 

DROP procedure createUsers;
delimiter |
create procedure createUsers(IN count int)
begin
declare i int;
set i=0;
while i<count do
insert into airuser set username=concat('user_',i);
set i=i+1;
end while;
end;

show procedure status;

5. 调用存储过程,验证存储过程是工作的,并验证在插入记录前,触发器能正确被触发:
 

call createUsers(10);

6. 最后通过插入记录表再次验证:
 

SELECT * FROM mars_jpa.airuser_record;

mysql相关教程

  • mysql 如何获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间

    这篇文章主要介绍了mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间,需要的朋友可以参考下

    发布时间:2020-01-27

  • 分享mysql简单实现查询结果添加序列号的代码

    这篇文章主要介绍了mysql简单实现查询结果添加序列号的方法,结合实例形式演示了2种查询结果添加序列号的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    发布时间:2020-02-16

  • php连接MySQL的两种方式区别

    这篇文章主要介绍了php连接MySQL的两种方式对比,一种是原生的链接方式另外一种是PDO方式,附上示例,推荐给大家,有需要的小伙伴可以参考下

    发布时间:2020-03-20

  • MySQL修改innodb_data_file_path参数的方法总结

    这篇文章主要给大家介绍了关于MySQL修改innodb_data_file_path参数的一些注意事项,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起

    发布时间:2019-07-01

  • MySQL基本查询语句总结

    这篇文章主要介绍了MySQL中的基本查询语句学习笔记,包括使用limit限制查询结果条数和合并查询结果的方法,需要的朋友可以参考下

    发布时间:2020-06-19

  • 用命令行进入mysql操作步骤详解

    逛论坛时无意发现有个伙计提出这样的问题,如何用命令行进入mysql,搜集整理了一些特意贴出来与大家分享,感兴趣的你可以参考下希望对你有所帮助

    发布时间:2021-08-26

  • MySQL修改表(alter table)实例方法

    我们在创建表的过程中难免会考虑不周,因此后期会修改表修改表需要用到alter table修改表语句,接下来详细介绍,需要的朋友可以参考下

    发布时间:2019-08-29

  • 备份MySQL数据库的实例方法

    网站数据对我们对站长来说都是最宝贵的,我们平时应该养成良好的备份数据的习惯。这样可使我们数据库崩溃造成的损失大大降低

    发布时间:2019-08-03

用户留言