mysql事務回滾

2021-09-20 16:11:39 字數 1016 閱讀 3373

先收集網上的一些,待仔細測試研究~~

事務是資料庫更新操作的基本單位,事務回滾是指將該事務已經完成的對資料庫的更新操作撤銷。

所謂事務是使用者定義的乙個資料庫操作序列,這些操作要麼全做要麼全不做,是乙個不可分割的工作 單位。例如,在關聯式資料庫中,乙個事務可以是一條sql語句、一組sql語句或整個程式。 簡單舉個例子就是你要同時修改資料庫中兩個不同表的時候,如果它們不是乙個事務的話,當第乙個表修改完,可能第二個表修改過程**現了異常而沒能修改的情 況下,就只有第二個表回到未修改之前的狀態,而第乙個表已經被修改完畢。而當你把它們設定為乙個事務的時候,當第乙個表修改完,可是第二表改修出現了異常 而沒能修改的情況下,第乙個表和第二個表都要回到未修改的狀態!這就是所謂的事務回滾。   資料庫事務是由一組 sql 語句組成的乙個邏輯工作單元。您可以把事務看作是一組不可分的 sql 語句,這些語句作為乙個整體永久記錄在資料庫中或一併撤銷。比如在銀行帳戶之間轉移資金:一條 update語句將從乙個帳戶的資金總數中減去一部分,另一條 update語句將把資金加到另乙個帳戶中。減操作和加操作必須永久記錄在資料庫中,或者必須一併撤銷 ? 否則將損失資金。這個簡單的示例僅使用了兩條 update 語句,但乙個更實際的事務可能包含許多 insert、update和 delete 語句

$mysqli-

>

autocommit(false); 

if(false)else 

mysql_query("begin"); //或者mysql_query("start transaction"); 

$sql

= "insert into ..."

; $sql2

= "insert into ..."

; $res

= mysql_query

($sql); 

$res1

= mysql_query

($sql2);  

if($res && $res1)else 

mysql_query("end"); 

MySQL事務和事務回滾

1 定義 一件事從開始發生到結束的整個過程 2 作用 確保資料一致性 3 事務和事務回滾應用 1 mysql中sql命令會自動commit到資料庫 show variables like autocommit 2 事務應用 1 開啟事務 mysql begin mysql 一條或多條sql語句 此時...

MySQL事務的回滾

在操作乙個事務時,如果,發現當前事務中的操作不合理,此時,只要還沒有提交事務,就可以通過回滾來取消當前事務 a賬號有1000元,b賬號有1000元 開啟乙個事務,使用update語句,將a賬號的100元,轉給b賬號 上述語句執行成功後,檢視a賬戶和b賬戶的金額 可以看出,a賬戶成功給b賬戶轉賬100...

mysql儲存引擎,事務,事務回滾

檢視已有表的使用儲存引擎 show create table 表名 g 檢視當前資料庫的預設儲存引擎和可提供的儲存引擎 show engines 修改儲存引擎 step1 修改配置檔案 etc my.cnf default storage engine 儲存引擎 step2 重啟mysqld服務 修...