首页 > 电脑专区 > 电脑教程 >

mysql事务的回滚

来源:互联网 2023-02-21 19:31:20 317

在mysql数据库中过程处理一个操作时出现错误,不能完成这个任务时,怎么解决数据库的数据回到以前状态呢?下面分享一个mysql事务的回滚操作。我写的经验对你学习mysql有帮助的话,给我投票、点赞或者收藏!j8x办公区 - 实用经验教程分享!

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

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

3mysql数据库对数据的加密于解密j8x办公区 - 实用经验教程分享!

工具/原料

  • mysql5.6
  • sqlyog

方法/步骤

  • 1

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

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

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

    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=6DEFAULTCHARSET=utf8j8x办公区 - 实用经验教程分享!

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

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

  • 2

    在test数据库中建立一个“shiwu”的过程:j8x办公区 - 实用经验教程分享!

    CREATE DEFINER=`root`@`localhost` PROCEDURE `shiwu`()j8x办公区 - 实用经验教程分享!

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

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

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

  • 3

    在过程中定义sql语句的异常处理,如果发生异常就回滚到以前数据,并且退出当前语句块(begin end)。j8x办公区 - 实用经验教程分享!

    DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;j8x办公区 - 实用经验教程分享!

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

  • 4

    过程开始事务:START TRANSACTION;j8x办公区 - 实用经验教程分享!

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

  • 5

    在事务中把id=2的记录修改为id=1,主键唯一性会产生错误,直接退出begin-end.j8x办公区 - 实用经验教程分享!

    UPDATE shoufei SET id=1 WHERE id=2;j8x办公区 - 实用经验教程分享!

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

  • 6

    接下来提交事务,如果提交成功换回一个结果集'提交成功!',:j8x办公区 - 实用经验教程分享!

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

    SELECT '提交成功!';j8x办公区 - 实用经验教程分享!

  • 7

    执行过程:call shiwu();j8x办公区 - 实用经验教程分享!

    修改数据时有错误,sql异常执行回滚ROLLBACK。j8x办公区 - 实用经验教程分享!

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

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

  • 8

    把修改数据改为:j8x办公区 - 实用经验教程分享!

    UPDATE shoufei SET id=6 WHERE id=2;j8x办公区 - 实用经验教程分享!

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

  • 8本页面未经许可获取自百度经验
  • 9

    再执行过程,事务成功执行,把id改为6.j8x办公区 - 实用经验教程分享!

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

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

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


    标签: 操作系统MYSQL

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