什么是事务

来源:互联网 发布:6city类似软件 编辑:程序博客网 时间:2024/06/05 04:32

事务(Transaction),是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。一个事务可以是一条SQL语句,一组SQL语句或整个程序。要操作的数据库表类型要求是INNODB.

ACID特性:原子性、一致性、隔离性、持久性。

原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。

一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

持久性(durability)。持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

事务有以下3种运行模式。
1. 自动提交事务:每条单独的语句都是一个事务。
2. 显式事务:每个事务均以BEGIN TRANSACTION语句显式开始,以COMMIT或ROLLBACK语句显式结束。
3. 隐性事务:在上个事务完成时新事务隐式启动,但每个事务仍以COMMIT或ROLLBACK语句显式完成。

原创粉丝点击