关于mysql的事物

事务

事务就是把一批SQL语句作为一个整体,如何所有的SQL语句执行后没有错误,就一起执行,只要其中一条SQL语句有错误,则所有的SQL语句都不执行。

 

MySQL默认的机制是:每一条SQL语句是一个独立的事务。

 

事务有四个特点:原子性、一致性、隔离性、持久性    也称: ACID

原子性:每一个事务是一不可分割的独立单元。

一致性:事务执行前后的数据要保持一致。

隔离性:事务单元是独立的,事务之间互不干涉。

持久性:也叫永久性,事务提交后,对数据表中的数据的影响是永久的。

事务类型

1. 自动提交型,这是默认的类型,关闭自动提交 set autocommit=0;   打开自动提交 set autocommit=1;

2. 隐式事务。

3. 显示的事务。我们要做的都是显示的事务,显示的事务需要显示的开始事务,并显示的提交或回滚。

案例:

set autocommit=0;   /*关闭自动提交*/

start TRANSACTION;  /*事务开始*/

update student set name= '孙鹏' where studentno = 10002;

commit;  /*表示事务提交,上面的操作才会永久影响的数据表*/

set autocommit=1;   /*打开自动提交,才不会影响后面SQL语句的执行。*/


如下图一个银行卡转账的功能 顾客A银行卡初始金额是2500,卖家初始金额是9500,他们之间发生了500块钱的交易,如果不使用事务处理,万一顾客A的银行卡上没有500块钱,扣钱不超过,但是卖家增加500成功,这就会对我们造成不便。经过Mysql的事务处理之后 ,把这两条语句变成了一个整体,如果所有语句都没有出错就会一起执行,有一个语句出错,则sql语句都不会执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值