讲解MySQL中的事务特性 |
本文标签:MySQL,事务 一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行 。换言之,永远不会是完整的事务,除非该组内的每个单独的操作是成功的 。如果在事务的任何操作失败,则整个事务将失败 。 实际上,会俱乐部许多SQL查询到一个组中,将执行所有的人都一起作为事务的一部分 。 事务有以下四个标准属性的缩写ACID,通常被称为:
可以控制的事务行为称为AUTOCOMMIT设置会话变量 。如果AUTOCOMMIT设置为1(默认值),然后每一个SQL语句(在事务与否)被认为是一个完整的事务,并承诺在默认情况下,当它完成 。 AUTOCOMMIT设置为0时,发出SET AUTOCOMMIT =0命令,在随后的一系列语句的作用就像一个事务,直到一个明确的COMMIT语句时,没有活动的提交 。 可以通过使用mysql_query()函数在PHP中执行这些SQL命令 。 这一系列事件是独立于所使用的编程语言,可以建立在任何使用的语言来创建应用程序的逻辑路径 。
在MySQL中的事务安全表类型: 如果打算使用MySQL事务编程,那么就需要一种特殊的方式创建表 。有很多支持事务但最流行的是InnoDB表类型 。 从源代码编译MySQL时,InnoDB表支持需要特定的编译参数 。如果MySQL版本没有InnoDB支持,请互联网服务提供商建立一个版本的MySQL支持InnoDB表类型,或者下载并安装Windows或Linux/UNIX的MySQL-Max二进制分发和使用的表类型在开发环境中 。 root@host# mysql -u root -p password; Enter password:******* mysql> use TUTORIALS; Database changed mysql> create table tcount_tbl -> ( -> tutorial_author varchar(40) NOT NULL, -> tutorial_count INT -> ) TYPE=InnoDB; Query OK, 0 rows affected (0.05 sec) 请查看下面的链接了解更多关于: InnoDB 可以使用其他GEMINI或BDB表类型,但它取决于您的安装,如果它支持这两种类型 。 |