Perl 中的 COMMIT 和 Rollback 操作
COMMIT 操作
Commit 操作向数据库发出信号,指示其完成更改,此操作后无法撤销任何更改。
这是一个调用 **commit** API 的简单示例。
$dbh->commit or die $dbh->errstr;
ROLLBACK 操作
如果您对所有更改不满意,或者在任何操作过程中遇到错误,可以使用 **rollback** API 撤销这些更改。
这是一个调用 rollback API 的简单示例。
$dbh->rollback or die $dbh->errstr;
事务开始
许多数据库都支持事务。这意味着您可以进行大量修改数据库的查询,但实际上没有任何更改。然后,最后,您发出特殊的 SQL 查询 **COMMIT**,所有更改将同时进行。或者,您可以发出查询 ROLLBACK,在这种情况下,所有更改都将被丢弃,数据库保持不变。
Perl DBI 模块提供了 **begin_work** API,它允许事务(通过关闭 AutoCommit)直到下一次调用 commit 或 rollback。在下一次 commit 或 rollback 之后,AutoCommit 将自动再次打开。
$rc = $dbh->begin_work or die $dbh->errstr;
AutoCommit 选项
如果您的事务很简单,您可以避免发出大量 commit 的麻烦。当您进行连接调用时,您可以指定 **AutoCommit** 选项,该选项将在每次成功的查询后执行自动 commit 操作。如下所示:
my $dbh = DBI->connect($dsn, $userid, $password, {AutoCommit => 1}) or die $DBI::errstr;此处 AutoCommit 可以取值 1 或 0,其中 1 表示 AutoCommit 启用,0 表示 AutoCommit 禁用。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP