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 命令撤销所有未提交的更改。 |
保存点 | 在事务中设置一个标记,以便在发生错误时只回滚到指定的保存点。 |
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。