MySQL事务
事务
事务(transaction)是指将一系列数据操作捆绑成为一个整体进行统一管理。即这组数据库命令要么都执行,要么都不执行。
事务是作为单个逻辑工作单位执行的一系列操作。
注:MySQL事务处理只支持InnoDB和BDB数据表类型
事务的四大特性(ACID):
1、原子性(Atomicity)
事务的各元素是不可分的(原子的)。事务中的所有元素必须作为一个整体提交或回滚。
2、一致性(Consistency)
在事务开始前,数据库中存储的数据处于一致状态,当事务完成时,数据必须处于一致状态。
3、隔离性(Isolation)
事务必须是独立的,它不应以任何方式依赖于或影响其他事务。
4、持久性(Durability)
不管事务是否发生了故障,事务处理的结果都是永久的。
事务管理
事务的实现方法:
SET AUTOCOMMIT:使用SET语句来改变自动提交模式
set autocommit=0; #关闭自动提交模式
set autocommit=1; #开启自动提交模式
注:MySQL中默认是自动提交;使用事务时应先关闭自动提交
事务管理:
(1)开始事务
BEGIN;或START TRANSACTIOM; 开始一个事务,标记事务的起始点
(2)提交事