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