mysql 必知必会 (26管理事务处理)之把书读薄

MyISAM:不支持明确的事务处理管理

InnoDB:支持事务处理

 

事务处理:维护数据库完整性,保证数据库不包含不完整的操作结果

无错误:整组语句提交数据库

发生错误:回退以恢复数据库到某个已知且安全的状态

 

数据库故障:比如超出磁盘空间、安全限制、表锁

 

名词解释:

事务(transaction ):一组sql语句

回退(rollback):撤销指定的sql语句的过程

提交(commit):指将未存储的sql语句结果写入数据表

保留点(savepoint):指事务处理中设置的临时占位符(place-holder),可以对它发布回退。

 

使用事务:

事务开始:

START TRANSACTION;

....sql....语句

ROLLBACK;

ROLLBACK:只能在START TRANSACTION命令之后

 

事务处理用来管理:INSERT  UPDATE  DELETE语句。

 

使用COMMIT:

隐含提交:一般的msyql语句都是直接对数据库进行操作(自动进行)

事务处理块中,不会隐含进行提交。

 

START TRANSACTION;

.....Sql语句....

COMMIT;

 

隐含事务关闭:当COMMIT或ROLLBACK语句执行后,事务会自动关闭。(保留点也会被释放, mysql5中也可以用release savepoint来明确的释放保留点)

 

使用保留点(SAVEPOINT): 设置临时占位符

 

SAVEPOINT delete1

 

ROLLBACK TO  delete1

 

更改默认提交行为:

Autocommit 标志决定是否自动提交更改

Autocommit 设置为0, mysql不自动提交(commit也不行)直到autocommit=1才行

SET autocommit = 0

 

 

阅读更多
个人分类: MySQL 数据库
上一篇网络传输层 网络进程通信 网络分布式进程通信
下一篇mysql 必知必会 (25触发器)之把书读薄
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭