事务是访问数据库的一个操作序列,数据库应用系统通过事务集完成数据库的存取。事务的正确执行使得数据库从一种状态转换成另一种状态。
事务提交:同步数据保存到数据库表中。
事务回滚:事务中的某个SQL语句执行失败,就必须撤销整个工作单元,同时直接清空日志表。必须是未提交的事务才能回滚。
事务是一个单一、独立的工作单位。如果事务提交成功,在事务中进行的所有数据的修改都会被提交并成为数据库中的永久部分。如果事务在处理过程中遇到错误,所有数据的修改都会被清除,事务全部回滚。
事务具有四大特性:
原子性:整个事务是独立的,是一个不可拆分的整体,事务要么全部成功,要么全部失败回滚。
隔离性:一个事务在完成之前对其他事务是不可见的,只有整个事务提交后才可见。
一致性:事务操作前后,数据表中的数据是不会发生变化的,所有数据都保持一致状态。
持久性:整个事务在处理结束后,对于数据的修改是永久的。
事务操作:
方法一:
1.start transaction 开启事务
2.进行事务操作
3.close关闭事务
commit 提交事务 rollback回滚事务
方法二:
用set可以改变MySQL的自动提交模式
set autocommit=0 禁止自动提交
set autocommit=1 开启自动提交