mysql事务的回滚

 时间:2026-02-12 03:47:09

1、登录mysql,在test数据库中新建一个表,输入数据:

Create Table

CREATE TABLE `shoufei` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `shijian` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,  `xiangmu` varchar(20) NOT NULL,  `jiage` float NOT NULL,  `shuliang` int(11) NOT NULL,  `jine` float DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

mysql事务的回滚

2、在test数据库中建立一个“shiwu”的过程:

CREATE DEFINER=`root`@`localhost` PROCEDURE `shiwu`()

BEGIN

    END$$

mysql事务的回滚

3、在过程中定义sql语句的异常处理,如果发生异常就回滚到以前数据,并且退出当前语句块(begin end)。

DECLARE EXIT HANDLER FOR SQLEXCEPTION   ROLLBACK;

mysql事务的回滚

4、过程开始事务:START TRANSACTION;

mysql事务的回滚

5、在事务中把id=2的记录修改为id=1,主键唯一性会产生错误,直接退出begin-end.

UPDATE shoufei SET id=1 WHERE id=2;

mysql事务的回滚

6、接下来提交事务,如果提交成功换回一个结果集'提交成功!',:

COMMIT;

SELECT '提交成功!';

7、执行过程:call shiwu();

修改数据时有错误,sql异常执行回滚ROLLBACK。

mysql事务的回滚

mysql事务的回滚

8、把修改数据改为:

UPDATE shoufei SET id=6 WHERE id=2;

mysql事务的回滚

9、再执行过程,事务成功执行,把id改为6.

mysql事务的回滚

mysql事务的回滚

  • 鬼谷八荒如何打开宝箱
  • 如何使用JS实现拖放图片到div中的功能
  • 神舟战神tx6-cu5da能换144屏幕吗
  • 猫研社剧情怎么拓展
  • alien swarm reactive drop进不去游戏
  • 热门搜索
    新年手抄报简单又好看 劳动节的手抄报 一年级清明节手抄报 繁星春水手抄报 防控疫情手抄报内容 传统文化手抄报图片 勿忘国耻手抄报内容 新学期新气象手抄报图片 爱祖国爱家乡手抄报 新学期新计划手抄报