天天看点

mysql事务

mysql事务;

事务:一组原子性的SQL查询,或者说一个单独工作单元

ACID测试:

A:atomicity,原子性:整个事务中的所有操作要么全部成功执行,要么全部失败后回滚。

C:consistency,一致性:数据库总是从一个一致性状态转换成另一个一致性状态;

I:Isolation,隔离性;一个事务所做出的操作在提交之前,是不能为其它所见;

D:durability:持久性,一旦事务提交,其所做的修改会永久保存在数据库中;

事务:

启动事务,START TRANSACTION

结束事务:

1.COMMIT

2.ROLLBACK

建议:显示请求和提交事务,而不要使用自动提交功能

autocommit 0

3.事务支持savepoint

SAVEPOINT identifier

ROLLBACK [WORK] TO [SAVEPOINT] identifier

RELEASE SAVEPOINT identifier

4.事务隔离级别:

show global variables like 'tx_%';

READ-UNCOMMITED(读未提交):可以读取另一个会话还未提交的更改

READ-COMMITED(读提交):另一个会话提交后,才能读取到对方提交的内容

REPEATABLE-READ(可重读):另一个会话不管提交与否,在自己提交之前只能读取之前的数据。

SERIALIZABILE(可串行化):自己未提交,对方对相应数据进行修改会被阻塞。

     本文转自阿伦艾弗森 51CTO博客,原文链接:http://blog.51cto.com/perper/2055545,如需转载请自行联系原作者