什么是数据库事务控制语句?

分类:编程技术 时间:2024-02-20 16:12 浏览:0 评论:0
0
本文将详细解释什么是数据库事务控制语句。文章内容质量很高,分享给大家,作为参考。希望您看完本文后对相关知识有一定的了解。

MYSQL命令行默认设置下,事务是自动提交的,即执行完SQL语句后会立即执行COMMIT操作。

因此,要显式启动事务,必须使用命令BEGIN和STARTTRANSACTION,或者执行命令SETAUTOCOMMIT=0来禁用当前会话的自动提交。

MYSQL事务控制语句

1)STARTTRANSACTION|BEGIN

显式启动一个事务。在存储过程中,MYSQL数据库的分析器会自动将BEGIN识别为BEGIN...END,所以只能使用STARTTRANSACTION语句来启动存储过程中的事务编辑程序。

2)COMMIT

要使用此语句的最简单形式,只需发出 COMMIT。 COMMIT 提交事务并使对数据库所做的所有修改永久化。 COMMIT 和 COMMITWORK 语句基本相同,用于提交事务。

不同的是COMMITWORK是用来控制事务结束后的行为是CHAIN还是RELEASE。如果是CHAIN模式,那么交易就变成了链上交易。用户可以通过参数completion_type来控制。默认参数为0,表示不进行任何操作。

在此设置下,COMMIT 和 COMMITWORK 完全等效。当参数值为1时,COMMITWORK相当于COMMITANDCHAIN,这意味着将立即自动启动具有相同隔离级别的事务。

当参数值为1时,COMMITWORK相当于COMMITANDRELEASE。交易时提交后,与服务器的连接将自动断开。

3) ROLLBACK

回滚将结束用户的事务并撤消所有正在进行的未提交的修改。

4)SAVEPOINTidentifier

5)RELEASESAVEPOINTidentifier

删除事务的保存点。当这条语句在没有保存点的情况下执行时,将会抛出异常。

6)ROLLBACKto[SAVEPOINT]标识符

此语句与SAVEPOINT命令一起使用。您可以将事务回滚到某个点,而无需回滚该点之前的任何工作。

注意:虽然有ROLLBACK,但它并没有真正结束一个事务,所以即使执行了ROLLBACKTOSAVEPOINT,之后也需要显式运行COMMIT或ROLLBACK命令。

7)SETTRANSACTION

此语句用于设置事务的隔离级别。 InnoDB存储引擎提供的事务隔离级别有READUNCOMMITTED、READCOMMITTED、REPEATABLEREAD和SERIALIZABLE。

我在这里分享一下什么是数据库事务控制语句。希望以上内容能够对大家有所帮助,能够学到更多的知识。如果您觉得文章不错,可以分享出去,让更多的人看到。

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 什么是数据库事务控制语句?

用户评论