CC00035.bigdatajava——|Java&MySQL单表/约束/事务.V13|——|MySQL.v13|自动提交事务|

本文介绍了MySQL默认的自动提交事务机制,并通过示例演示了如何取消自动提交,进行手动事务管理。在取消自动提交后,对数据库的修改需要显式提交才能生效。此外,还展示了手动提交事务的正确和错误操作案例,以及如何检查和设置autocommit状态。
摘要由CSDN通过智能技术生成
一、mysql自动提交事务
### --- mysql自动提交事务

——>        MySQL 默认每一条 DML(增删改)语句都是一个单独的事务,
——>        每条语句都会自动开启一个事务,
——>        语句执行完毕 自动提交事务,MySQL 默认开始自动提交事务
——>        MySQL默认是自动提交事务
二、自动提交事务演示:将tom账户金额 +500元
三、使用 SQLYog 查看数据库:发现数据已经改变
四、取消自动提交
### --- 取消自动提交

——>        MySQL默认是自动提交事务,设置为手动提交.
### --- 登录mysql,查看autocommit状态。

SHOW VARIABLES LIKE 'autocommit';

on :自动提交
off : 手动提交
### --- autocommit 改成 off;

SET @@autocommit=off;
### --- 再次修改,需要提交之后才生效
——>        将jack 账户金额 -500元

-- 选择数据库
use db2;
-- 修改数据
update account set money = money - 500 where name = 'jack';
-- 手动提交
commit;
五、sql语句
### --- sql语句

/*
    MySql事务操作
        手动提交事务
            1.开启事务 start transaction; 或者 begin;
            2.提交事务 commit;
            3.回滚事务 rollback;
            
        自动提交事务
            MySql默认的提交方式 自动提交事务
            每执行一条DML语句 都是一个单独的事务
*/
-- 手动提交事务演示

-- 成功案例
USE db2;

START TRANSACTION;  -- 开启事务

UPDATE account SET money = money - 500 WHERE NAME = 'tom'

UPDATE account SET money = money + 500 WHERE NAME = 'jack';

COMMIT; -- 提交事务
-- 失败案例 会进行回滚
START TRANSACTION; -- 开启事务

INSERT INTO account VALUES(NULL,'张百万',3000);
INSERT INTO account VALUES(NULL,'有财',3500);
-- 直接关闭窗口 模拟系统崩溃 数据没有发生改变

-- 如果事务中 SQL 语句没有问题,commit 提交事务,会对数据库数据的数据进行改变。 如果事务中 SQL 语句有问题,rollback 回滚事务,会回退到开启事务时的状态。 

-- 自动提交事务 MySQL 默认每一条 DML(增删改)语句都是一个单独的事务

--  登录mysql,查看autocommit状态。
SHOW VARIABLES LIKE 'autocommit';

-- 把 autocommit 改成 off;
SET @@autocommit=off;
-- 执行修改操作

-- 选择数据库
USE db2;

-- 修改数据
UPDATE account SET money = money - 500 WHERE NAME = 'jack';

-- 手动提交
COMMIT;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值