-- 测试用表
-- 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 事务+异常处理+异常抛出相关推荐

  1. 【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )

    文章目录 I 异常处理 II 字符串异常 III 异常对象 IV 抛出任意类型对象 V 自定义异常 VI 异常相关代码 I 异常处理 1. 异常处理 : 使用 " try{}catch(){ ...

  2. Java:异常的概念及分类、异常的处理、异常抛出及自定义异常

    异常概念 异常分类   Java异常处理机制 try ...catch...finally throw和throws 自定义异常 一.异常的概念         什么是异常?             ...

  3. Spring-AOP 通过配置文件实现 异常抛出增强

    概述 实例 概述 异常抛出增强表示在目标方法抛出异常后实施增强,最适合的场景是事务管理,比如当参与事事务的方法抛出异常后需要回滚事务. 异常抛出增强类需要实现ThrowsAdvice接口,Throws ...

  4. 异常处理—错误抛出机制

    错误抛出机制:   把可能出现异常的代码写在try{}里,使用catch(){}设置一些异常陷阱来捕获异常.例如: 没有异常处理时异常的抛出机制:   为什么出现异常会在控制台上显示打印红色的异常呢? ...

  5. Python3.2官方文档翻译--异常抛出和自定义异常

    Python3.2官方文档翻译--异常抛出和自定义异常 Python3.2官方文档翻译--异常抛出和自定义异常,有需要的朋友可以参考下. 6.4 抛出异常 Raise语句运行程序员强制抛出一个具体的异 ...

  6. python中用来抛出异常的关键字是( )_python异常抛出

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 主动抛出异常raise typeerror(类型错误) # 7. 触发异常try ...

  7. java 捕捉的异常抛出_Java异常抛出和捕获

    Java中把非正常情况分为两种,异常(Exception)和错误(Error). 异常.png Error:一般是指与虚拟机相关的问题(虚拟机错误.线程死锁等),这种错误无法回复或不可能捕获 Exce ...

  8. 【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )

    转载自:https://blog.csdn.net/shulianghan/article/details/100002073 文章目录 I 异常处理 II 字符串异常 III 异常对象 IV 抛出任 ...

  9. Swift 中 throws 异常抛出

    一.异常抛出关键 throws 定义在函数结尾 如果函数有返回值 定义在 返回类型前如 : func throwDeliver(num:Int) throws ->String 二.定义方法 / ...

最新文章

  1. Java多线程学习处理高并发问题
  2. 解决Eclipse中SVN图标不显示
  3. Numpy中array和matrix转换
  4. 性能测试十四:Xshell链接linux虚拟机
  5. PHP如何读取excel文,PHP-php如何读取excel?
  6. java md5 16位解密_Java实现MD5(32/16位)大小写加密
  7. KubeEdge led部署
  8. Mac系统下安装svn环境方法
  9. 八大数据分析模型之——用户模型(一)
  10. Python多项逻辑回归和线性判别分析识别英文字母
  11. 解决火狐浏览器中文乱码问题
  12. Android手写签名
  13. ASP.NET profile之 找不到存储过程dbo.aspnet_CheckSchemaVersion
  14. C++爱心代码(红色)
  15. P2P网络基础(学习笔记)
  16. 【源码】数学研究者的Cleve_s实验室
  17. V2X前装量产的现状与挑战 | 车联网百家谈
  18. 高效体验麒麟软件商店 这些亮点你解锁了吗?
  19. HTML——页面视频获取与渲染
  20. kafka 简单安装以及java小demo

热门文章

  1. 项目中使用粘性布局不起作用_项目中的 Git 使用规范
  2. JS实现数组去重(重复的元素只保留一个)
  3. 对某自习室系统的一次渗透测试(从iot到getshell再到控制全国自习室)
  4. TextView之一:子类的常用属性
  5. GitHub项目协作基本步骤
  6. 第19课:知识挖掘与知识图谱概述
  7. 剑指offer 链表中倒数第k个节点
  8. 知识蒸馏在推荐系统中的应用
  9. 十道上市公司java面试试题
  10. ssh key加密解密原理