当前位置:首页 > 行业动态 > 正文

mysql事务处理步骤

MySQL事务处理步骤主要包括:开启事务(START TRANSACTION)、执行SQL语句、提交事务(COMMIT)或回滚事务(ROLLBACK)。

MySQL 事务处理掌握4种方式:

1、自动提交(AUTOCOMMIT)

在默认情况下,MySQL 的自动提交模式是开启的,这意味着每次执行 SQL 语句时,都会立即对数据库进行更改,并自动提交更改,可以通过以下命令关闭自动提交模式:

SET autocommit = 0;

2、显式提交(EXPLICIT COMMIT)

当关闭自动提交模式后,可以使用 COMMIT 命令手动提交事务,这样可以确保在执行多个 SQL 语句时,只有在调用 COMMIT 命令后才会将更改应用到数据库。

START TRANSACTION;
执行 SQL 语句
INSERT INTO users (username, password) VALUES ('test', '123456');
UPDATE users SET password = '654321' WHERE username = 'test';
提交事务
COMMIT;

3、回滚(ROLLBACK)

如果在事务中遇到错误,可以使用 ROLLBACK 命令撤销所有未提交的更改。

START TRANSACTION;
执行 SQL 语句
INSERT INTO users (username, password) VALUES ('test', '123456');
发生错误,回滚事务
ROLLBACK;

4、保存点(SAVEPOINT)

保存点允许在事务中设置一个标记,以便在发生错误时只回滚到指定的保存点。

START TRANSACTION;
创建保存点
SAVEPOINT sp1;
执行 SQL 语句
INSERT INTO users (username, password) VALUES ('test', '123456');
发生错误,回滚到保存点 sp1
ROLLBACK TO SAVEPOINT sp1;
提交事务
COMMIT;
方式 描述
自动提交 默认情况下,每次执行 SQL 语句时,都会立即对数据库进行更改,并自动提交更改。
显式提交 关闭自动提交模式后,使用 COMMIT 命令手动提交事务。
回滚 使用 ROLLBACK 命令撤销所有未提交的更改。
保存点 在事务中设置一个标记,以便在发生错误时只回滚到指定的保存点。
0