如何使用回滚命令回滚事务?

how to rollback a transaction using rollback command?

我从 table 中删除了一条记录,在执行回滚命令后它显示 "command completed successfully" 但是当我使用 select 语句检查它时 table 仍在寻找空的?为什么 ?

回滚命令将您带回 table.I 的最新提交状态猜测您的删除查询可能包含一些提交更改(删除记录)的语句。

一些数据库连接方法(例如 ODBC)默认为所谓的 "autocommit" mode - that is, the database connection automatically issues a COMMIT after each statement is executed. JDBC does the same thing。我不能说这是否是您的情况,但如果是这样,则无法进行回滚。祝你好运。

杰森·克拉克,

我使用 MySql 进行了测试,并使用了 "begin"、"delete" 和 "rollback",使用了以下 SQL(示例):

begin; delete from aluno where id = 1; rollback;

在 PostgreSQL 中,SQL 语法相同并且也有效。

您确定您使用了正确的 SQL 吗?我可能犯了什么错误?真的有必要使用 "begin transaction" 而不是 "begin" 吗?

希望对您有所帮助!