MySQL

MySQL 知识量:16 - 40 - 165

13.1 事务处理><

什么是事务处理- 13.1.1 -

事务处理就是用于确保在SQL的执行中,成批的SQL操作要么完全执行,要么完全不执行,从而维护数据库的完整性。

例如:在银行转账业务中,将钱从A转到B,先确认A的存款金额大于转出金额,再增加B的账户金额,最后减少A的账户金额。如果在这个过程中,增加B的账户金额后,系统出现故障,就会导致B的金额增加了,而A的金额却没有减少,银行可就要倒霉了。事务处理可以避免这种事情发生,如果错误,一切退回原来的样子。

在事务处理中的几个术语:

  • 实务(transaction):指一组SQL语句。

  • 回退(rollback):指撤销指定SQL语句的过程。

  • 提交(commit):指将未存储的SQL语句结果写入数据库表中。

  • 保留点(savepoint):指事务处理中设置的临时占位符,可以回退到它定义的这一步,而不是回退到最开始处。

注意:目前MySQL的InnoDB引擎支持事务处理,而MyISAM引擎还不支持。

可以回退的语句- 13.1.2 -

事务处理可以用来管理insert、update和delete语句,也就是说,可以利用事务处理回退插入、更新和删除语句,但是不能回退select语句(回退select显然没必要),也不能回退create和drop语句。