MySql 事务+异常处理+异常抛出
-- 测试用表 -- innodb 支持事务 CREATE TABLE `tb_test` (`id` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(50) NOT NULL,PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=92 DEFAULT CHARSET=utf8;
-- 测试用储存过程 -- 通过插入相同的主键和插入NULL到非空字段中制造异常 CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_test`() BEGIN-- 如果出现执行异常则结束后继的执行,并执行begin-end中的处理DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN-- 回滚事务ROLLBACK;-- 获取错误信息GET DIAGNOSTICS CONDITION 1 @p1=RETURNED_SQLSTATE,@p2= MESSAGE_TEXT; -- 借“模拟”抛出异常RESIGNAL SET schema_name = 'mtt_dev', table_name = 'tb_test', message_text = @p2, mysql_errno = @p1;END;START TRANSACTION;INSERT INTO `tb_test`(`name`)VALUES ('name');INSERT INTO `tb_test`(`name`)VALUES (NULL);INSERT INTO `tb_test`(`id`,`name`)VALUES (1,'name2');INSERT INTO `tb_test`(`id`,`name`)VALUES (1,'name3'); COMMIT; END$$DELIMITER ;
-- 执行 CALL sp_test();
转载于:https://www.cnblogs.com/xachary/p/4751263.html
MySql 事务+异常处理+异常抛出相关推荐
- 【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )
文章目录 I 异常处理 II 字符串异常 III 异常对象 IV 抛出任意类型对象 V 自定义异常 VI 异常相关代码 I 异常处理 1. 异常处理 : 使用 " try{}catch(){ ...
- Java:异常的概念及分类、异常的处理、异常抛出及自定义异常
异常概念 异常分类 Java异常处理机制 try ...catch...finally throw和throws 自定义异常 一.异常的概念 什么是异常? ...
- Spring-AOP 通过配置文件实现 异常抛出增强
概述 实例 概述 异常抛出增强表示在目标方法抛出异常后实施增强,最适合的场景是事务管理,比如当参与事事务的方法抛出异常后需要回滚事务. 异常抛出增强类需要实现ThrowsAdvice接口,Throws ...
- 异常处理—错误抛出机制
错误抛出机制: 把可能出现异常的代码写在try{}里,使用catch(){}设置一些异常陷阱来捕获异常.例如: 没有异常处理时异常的抛出机制: 为什么出现异常会在控制台上显示打印红色的异常呢? ...
- Python3.2官方文档翻译--异常抛出和自定义异常
Python3.2官方文档翻译--异常抛出和自定义异常 Python3.2官方文档翻译--异常抛出和自定义异常,有需要的朋友可以参考下. 6.4 抛出异常 Raise语句运行程序员强制抛出一个具体的异 ...
- python中用来抛出异常的关键字是( )_python异常抛出
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 主动抛出异常raise typeerror(类型错误) # 7. 触发异常try ...
- java 捕捉的异常抛出_Java异常抛出和捕获
Java中把非正常情况分为两种,异常(Exception)和错误(Error). 异常.png Error:一般是指与虚拟机相关的问题(虚拟机错误.线程死锁等),这种错误无法回复或不可能捕获 Exce ...
- 【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )
转载自:https://blog.csdn.net/shulianghan/article/details/100002073 文章目录 I 异常处理 II 字符串异常 III 异常对象 IV 抛出任 ...
- Swift 中 throws 异常抛出
一.异常抛出关键 throws 定义在函数结尾 如果函数有返回值 定义在 返回类型前如 : func throwDeliver(num:Int) throws ->String 二.定义方法 / ...
最新文章
- Java多线程学习处理高并发问题
- 解决Eclipse中SVN图标不显示
- Numpy中array和matrix转换
- 性能测试十四:Xshell链接linux虚拟机
- PHP如何读取excel文,PHP-php如何读取excel?
- java md5 16位解密_Java实现MD5(32/16位)大小写加密
- KubeEdge led部署
- Mac系统下安装svn环境方法
- 八大数据分析模型之——用户模型(一)
- Python多项逻辑回归和线性判别分析识别英文字母
- 解决火狐浏览器中文乱码问题
- Android手写签名
- ASP.NET profile之 找不到存储过程dbo.aspnet_CheckSchemaVersion
- C++爱心代码(红色)
- P2P网络基础(学习笔记)
- 【源码】数学研究者的Cleve_s实验室
- V2X前装量产的现状与挑战 | 车联网百家谈
- 高效体验麒麟软件商店 这些亮点你解锁了吗?
- HTML——页面视频获取与渲染
- kafka 简单安装以及java小demo