COMMIT TRANSACTION 遺漏會自動回溯交易嗎?

Susan Sarandon
發布: 2024-10-24 15:12:02
原創
991 人瀏覽過

Does COMMIT TRANSACTION Omission Automatically Rollback Transactions?

如果省略COMMIT TRANSACTION 則自動回滾

在給定的SQL 語句中:

START TRANSACTION;
BEGIN;
INSERT INTO prp_property1 (module_name,environment_name,NAME,VALUE) VALUES ('','production','','300000');

/** Assume there is syntax error SQL here...**/
Blah blah blah

DELETE FROM prp_property1 WHERE environment_name = 'production';
COMMIT TRANSACTION;
登入後複製

在給定的SQL 語句中:

問題是否出現由於語法錯誤而永遠無法到達COMMIT TRANSACTION 語句,因此交易會自動回滾。

事務回滾行為

與假設相反,事務不會自動回滾遇到錯誤時回滾。此行為通常在客戶端應用程式設定中實現。例如,MySQL 命令列用戶端在出現錯誤時終止執行並退出,這會導致任何正在進行的交易回溯。
  • 在開發自訂應用程式時,開發人員可以控制交易回滾策略。但是,有某些例外情況:
  • 退出資料庫連線總是會回滾正在進行的交易。

死鎖或鎖等待逾時也會隱式觸發回滾。

在這些特定場景之外,錯誤不會自動導致回滾。回傳錯誤,開發人員可以自由決定下一步的操作,包括儘管出現錯誤仍提交交易。

以上是COMMIT TRANSACTION 遺漏會自動回溯交易嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板