MySQL的事务处理

本文详细解释了MySQL中事务的两种模式(隐视事务和显示事务),包括如何开启和关闭自动提交、手动开始和结束事务,以及使用UPDATE、INSERT和DELETE语句。通过实际操作演示了如何在账户转账场景中运用事务处理。
摘要由CSDN通过智能技术生成

MySQL的事务的创建:

①隐视事务:事务没有明显的开始和结束的标记.这时候像insert语句,update语句和delete语句,每一条SQL语句就默认是一个事务。

显然,隐视事务在类似转账的逻辑业务需求的时候,就无法处理了!

②显示事务:说白了,这个事务模式,就要我们中程序中手动的用命令来开启事务,和结束事务,并让事务里的多条SQL语句去执行.

注意:默认MySQL是开启自动提交事务的,用show variables like 'autocommit';命令可以查看到。 所以开启显示事务前,要关掉它,用set autocommit=0;只对本身回话有效。

①:开始事务

set autocommit=0;

start transaction; #可选的,执行set autocommit=0已经默认开启了!

②:编写事务中的SQL语句(主要是:select update delete insert等语句)

语句1;语句2;........

③:结束事务

commit;提交事务去真正执行

rollback;回滚事务,恢复数据库执行前的状态!

来演示一下:

DROP TABLE IF EXISTS account;
CREATE TABLE account(
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20),
balance DOUBLE
);
INSERT INTO account(username,balance) VALUES('A',1000),('B',1000);

SET autocommit = 0;#开启事务
START TRANSACTION;
#编写sql语句
UPDATE account SET balance=balance-500 WHERE username='A';
UPDATE account SET balance=balance+500 WHERE username='B';
#结束事务
#commit;
ROLLBACK;

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值