首页 > 软件开发 > MYSQL >

mysql怎么返回事务的错误信息

来源:互联网 2023-03-16 22:57:46 249

在mysql中的过程定义一个事务,当事务出现异常时mysql系统默认是退出当前块或者继续,怎么换回客户端错误信息呢?我给大家分享一下编写事务的方法 ,我写的经验对你学习mysql有帮助的话,给我投票、点赞或者收藏!Z8N办公区 - 实用经验教程分享!

1mysql事务的回滚Z8N办公区 - 实用经验教程分享!

2MYSQL数据库存储过程的动态SQL语句Z8N办公区 - 实用经验教程分享!

1mysql数据库怎么备份和恢复数据Z8N办公区 - 实用经验教程分享!

工具/原料

  • mysql、sqlyog

方法/步骤

  • 1

    登录mysql,在test数据库中新建一个表:Z8N办公区 - 实用经验教程分享!

    CREATETABLE`shoufei`(`id`int(11)NOTNULLAUTO_INCREMENT,`shijian`timestampNOTNULLDEFAULTCURRENT_TIMESTAMP,`xiangmu`varchar(20)NOTNULL,`jiage`floatNOTNULL,`shuliang`int(11)NOTNULL,`jine`floatDEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=7DEFAULTCHARSET=utf8Z8N办公区 - 实用经验教程分享!

    mysql怎么返回事务的错误信息Z8N办公区 - 实用经验教程分享!

  • 2

    在test数据库中新建一个过程shiwu。Z8N办公区 - 实用经验教程分享!

    DELIMITER $$Z8N办公区 - 实用经验教程分享!

    Z8N办公区 - 实用经验教程分享!

    CREATEZ8N办公区 - 实用经验教程分享!

    Z8N办公区 - 实用经验教程分享!

    PROCEDURE `test`.`shiwu`()Z8N办公区 - 实用经验教程分享!

    Z8N办公区 - 实用经验教程分享!

    BEGINZ8N办公区 - 实用经验教程分享!

    Z8N办公区 - 实用经验教程分享!

    $$Z8N办公区 - 实用经验教程分享!

    Z8N办公区 - 实用经验教程分享!

    DELIMITER ;Z8N办公区 - 实用经验教程分享!

    mysql怎么返回事务的错误信息Z8N办公区 - 实用经验教程分享!

  • 3

    在过程中增加插入语句,给表shoufei加两个数据,数据主键相同会出现错误。Z8N办公区 - 实用经验教程分享!

    INSERT INTO shoufei VALUES(6,CURRENT_TIMESTAMP,'感冒药',10,3,30);Z8N办公区 - 实用经验教程分享!

    INSERT INTO shoufei VALUES(6,CURRENT_TIMESTAMP,'云南白药',20,10,200);Z8N办公区 - 实用经验教程分享!

    mysql怎么返回事务的错误信息Z8N办公区 - 实用经验教程分享!

  • 4

    在过程中定义事务的异常:Z8N办公区 - 实用经验教程分享!

    DECLARE EXIT HANDLER FOR SQLEXCEPTIONZ8N办公区 - 实用经验教程分享!

    BEGINZ8N办公区 - 实用经验教程分享!

    ROLLBACK; 回滚Z8N办公区 - 实用经验教程分享!

    GET DIAGNOSTICS CONDITION 1 @p1=RETURNED_SQLSTATE,@p2= MESSAGE_TEXT;Z8N办公区 - 实用经验教程分享!

    IF @p1='BF000' THEN用户的自定义的信息Z8N办公区 - 实用经验教程分享!

    SIGNAL SQLSTATE 'BF000' SET MESSAGE_TEXT = @p2;Z8N办公区 - 实用经验教程分享!

    ELSEZ8N办公区 - 实用经验教程分享!

    SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = @p2;Z8N办公区 - 实用经验教程分享!

    IF;Z8N办公区 - 实用经验教程分享!

    ;Z8N办公区 - 实用经验教程分享!

    mysql怎么返回事务的错误信息Z8N办公区 - 实用经验教程分享!

  • 4此文章未经授权抓取自百度经验
  • 5

    START TRANSACTION;开始事务,定义在插入语句之前。Z8N办公区 - 实用经验教程分享!

    mysql怎么返回事务的错误信息Z8N办公区 - 实用经验教程分享!

  • 6

    在过程最后提交更新:Z8N办公区 - 实用经验教程分享!

    commit;Z8N办公区 - 实用经验教程分享!

    mysql怎么返回事务的错误信息Z8N办公区 - 实用经验教程分享!

  • 7

    执行过程,还回错误信息。Z8N办公区 - 实用经验教程分享!

    Z8N办公区 - 实用经验教程分享!

    SET autocommit=0; 把自动提交关闭Z8N办公区 - 实用经验教程分享!

    CALL shiwu();Z8N办公区 - 实用经验教程分享!

    mysql怎么返回事务的错误信息Z8N办公区 - 实用经验教程分享!

  • 8

    把错误信息修改为中文:Z8N办公区 - 实用经验教程分享!

    SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = '输入数据更新错误!';Z8N办公区 - 实用经验教程分享!

    mysql怎么返回事务的错误信息Z8N办公区 - 实用经验教程分享!

  • 9

    重新执行过程,错误信息变成自定义的文字。Z8N办公区 - 实用经验教程分享!

    mysql怎么返回事务的错误信息Z8N办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!Z8N办公区 - 实用经验教程分享!


    标签: 操作系统MYSQL

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码