码迷,mamicode.com
首页 > 数据库 > 详细

Mysql 事务

时间:2018-08-07 13:14:09      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:tran   like   inno   innodb   ack   事务   相关   管理系   完整性   

事务

  MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的相关资料,这些数据库操作语句就构成一个事务。

  MYSQL只有 INNODB和BDB类型的数据表才支持事务处理。事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。

  当一个成功的事务完成后,发出COMMIT命令应使所有参与表的更改才会生效。如果发生故障时,应发出一个ROLLBACK命令返回的事务中引用的每一个表到以前的状态。

  原子性(要么全做要么全不做)、一致性(类似原子性)、隔离性(事务彼此独立,对数据操作是独占式的)、持久性(事务对数据的修改是永久的)。

  隔离性:如果使用了索引(比如主键),系统据此找到某条记录,则只隔离该条记录;如果使用了全表检索(逐一检查行,没有索引),则被检索的数据都被隔离即隔离表。其他事务需要等待。

 


mysql> show variables like ‘%autocommit%‘;

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| autocommit    | ON    |       //自动事务,set autocommit = 0;

+---------------+-------+

1 row in set, 1 warning (0.01 sec)

 


START TRANSACTION;

...

SAVEPOINT sp1;

...

ROLLBACK sp1;

...

COMMIT;

END TRANSACTION;

 


 

Mysql 事务

标签:tran   like   inno   innodb   ack   事务   相关   管理系   完整性   

原文地址:https://www.cnblogs.com/dailycode/p/9435904.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!