SQLyog 中的回滚事务

SQLyog 中的回滚事务

我用SQLyog作为 MYSQL 的客户端。

我想执行 SQL 脚本并可选择提交或回滚(与客户端 SQLDeveloper 一样)。如何使用 SQLyog 实现此操作?我搜索了网络和帮助,但无济于事。

答案1

如果您使用 启动 DB 会话START TRANSACTION,则所有内容将通过 MVCC 进行控制,并且您必须执行COMMIT。如果 DB 连接终止(自愿或非自愿),所有内容都将回滚。

您也可以SET autocommit = 0;在您的会话中禁用它。

请确保所有涉及的表都是 InnoDB

如果 UPDATE 连接和 DELETE 连接中涉及的任何表涉及 InnoDB 和 MyISAM 的混合,则对 MyISAM 表的更改将不会回滚,因为它不支持符合 ACID 的事务。

答案2

根据文章中每个客户端连接到 mysql 时都启用了自动提交。

您可以禁用它并像在 SQLdeveloper 中一样使用回滚。但与 SQLdeveloper 不同的是,您需要手动执行提交语句。

相关内容