一、事务是什么?
事务(transaction)是 作为一个单元的一组有序数据库的操作。事务的操作 要么都成功,要么都失败。如果事务全部完成则可以 提交(commit) , 如果失败则必须 回滚(rollback)。事务是一个不可分割的工作逻辑单元。
二、事务的四大特性
1.原子性
一个事务里的操作是不可再分割的。要么全成功,要么全部失败回滚。
2.一致性
事务执行前后,数据处于一致状态,保持正确、数据不被破坏。
3.隔离性
每个事务都是独立于其他事务的,不受其他事务的干扰。
4.持久性
事务执行完提交后 ,对数据库的修改/影响是持久的。
三、事务的操作
在MySQL中,事务是自动提交的, 每一个SQL语句就是一个单独的事务 。
(1)通过修改数据库系统变量 autocommit 来改变事务提交方式,
1 为自动提交, 0 为手动提交。
SET @@autocommit = 0;
(2)通过 start transcation; 或者 begin; 来开启事务手动提交,
commit; 提交事务, rollback 回滚。
begin;
-- 操作
commit;