MySQL的事务

事务

原子性: 要么都成功,要么都失败。
一致性:事务前后数据完整性保持一致。
持久性:事务提交后不可逆。
隔离性:多个事务不互相干扰。

隔离所导致的问题

脏读:读到未提交事务的数据。
不可重复读:多次读取表中数据时同时数据被更改,导致多次读取数据内容不一致。
幻读:多次读取表中数据时同时有新插入的数据,导致多次读取数据行不一致。

事务的执行

MySql 默认开启事务自动提交。
SET autocommit = 0 关闭自动提交
SET autocommit = 1 开启自动提交
commit 提交 rollback 回滚

//模拟AB间转账的事务
SET autocommit = 0;  关闭自动提交 
START TRANSACTION    开启事务
UPDATE table SET money = money - 500 WHERE name = 'A'  A给B转500
UPDATE table SET money = money + 500 WHERE name = 'B'
COMMIT;   提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值