定义MySQL事务的例子

数据库 MySQL
学习MySQL数据库,定义MySQL事务的方法是一定需要学会的,下文就为您介绍定义MySQL事务的方法和例子,供您参考。

定义MySQL事务应该是每一个MySQL数据库用户都应该会的,下面就将为您讲解如何定义MySQL事务,希望对您有所帮助。

MySQL默认的行为是在每条SQL语句执行后执行一个COMMIT语句,从而有效的将每条语句独立为一个事务。
在复杂的应用场景下这种方式就不能满足需求了。
为了打开事务,允许在COMMIT和ROLLBACK之前多条语句被执行,我们需要做以下两步:
1, 设置MySQL的autocommit属性为0,默认为1
2,使用START TRANSACTION语句显式的打开一个事务

如果已经打开一个事务,则SET autocommit=0不会起作用,因为START TRANSACTION会隐式的提交session中所有当前的更改,结束已有的事务,并打开一个新的事务。

使用SET AUTOCOMMIT语句的存储过程例子:

  1. CREATE PROCEDURE tfer_funds      
  2.      (from_account int, to_account int, tfer_amount numeric(10,2))      
  3. BEGIN      
  4.      SET autocommit=0;      
  5.      
  6.      UPDATE account_balance SET balancebalance=balance-tfer_amount WHERE account_id=from_account;      
  7.      
  8.      UPDATE account_balance SET balancebalance=balance+tfer_amount WHERE account_id=to_account;      
  9.      
  10.      COMMIT;      
  11. END;    

以上定义MySQL事务的方法介绍。 

 

 

【编辑推荐】

mysql存储过程问题解答

创建MySQL存储过程示例

mysql存储过程的调用方法

MYSQL IFNULL函数的使用

带您了解MySQL GROUP_CONCAT函数

责任编辑:段燃 来源: 互联网
相关推荐

2010-11-22 16:40:00

MySQL事务表

2023-02-10 07:00:22

2010-08-09 17:42:44

DB2 9.7自治事务

2020-02-13 10:14:11

MySQL事务ACID

2010-06-11 17:36:46

MySQL语句

2023-11-09 09:26:22

MySQL存储引擎

2018-12-19 16:46:38

MySQL事务隔离数据库

2021-09-07 10:33:42

MySQL事务隔离性

2023-09-22 08:27:39

2023-02-27 14:42:46

MySQLSQL

2020-06-17 16:56:36

数据库MySQL跨行事务

2017-08-22 17:10:45

数据库MySQL事务模型

2009-06-30 16:41:12

Hibernate的事

2017-01-19 15:32:36

Java全局事务本地事务

2010-05-31 14:59:36

PHP + MySQL

2021-11-04 08:16:50

MySQL SQL 语句数据库

2024-04-08 10:11:15

MYSQL数据库事务

2021-07-26 10:28:13

MySQL事务隔离

2024-04-26 09:17:20

MySQL事务隔离

2020-10-13 10:32:24

MySQL事务MVCC
点赞
收藏

51CTO技术栈公众号