MySQL事务概述
在MySQL中,事务由单独单元的一个或多个SQL语句组成。在这个单元中,每个MySQL语句是相互依赖的。而整个单独单元作为一个不可分隔的整体,如果单元中一旦某条SQL语句执行失败或产生错误,整个单元将会回滚。所有受到影响的数据将返回到事务开始以前的状态;如果单元中的所有SQL语句均执行成功。则事务被顺利执行。
事务4大属性:
原子性
一致性
孤立性
持久性
原子性
原子性意味着事物的整体性和不可分割性,这就类似化学中的原子,事务就具备这样的属性,其被认为是一个不可分割的单元。
一致性
在MySQL 事务处理过程中,无论事务是完全成功或是在中途因某些环节失败而导致失败,但事务使系统处于一致的状态时,其必须保证一致性。
孤立性
孤立性是指每个事务在自己的空间发生,和其他发生在系统中的事务隔离,而且事务的结果只在它完全被执行时才能看到。即使这样的一个系统中同时发生多个事务,孤立性也可以保证特定的事务在完成之前,其结果是不被公布的。
持久性
在MySQL中,即便是数据库系统崩溃,一个提交的事务仍然在坚持。MySQL的持久性是通过一条记录事务过程中系统变化的二进制事务日志文件来实现的。
初始化事务
初始化MySQL事务,首先声明初始化MySQL事务后所有的SQL语句为一个单元。在MySQL中,应用START TRANSACTION命令来标记一个事务的开始。
初始化事务的结构如下:
START TRANSACTION;
创建事务
初始化事务成功后&