程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 演示MYSQL數據庫簡單的事務處理-刪除後回滾,mysql事務處理

演示MYSQL數據庫簡單的事務處理-刪除後回滾,mysql事務處理

編輯:MySQL綜合教程

演示MYSQL數據庫簡單的事務處理-刪除後回滾,mysql事務處理


使用事務處型功能時,涉及3個重要的命令BEGIN、COMMIT和ROLLBACK,它們的語法分別如下。

下面我們演示一下在事務處理中刪除表user的全部數據,然後用ROLLBACK命令看是否能恢復到事務開始前的初始狀態,具體步驟如下。

1、首先將表user的存儲引擎修改為[InnoDB] 。

2、確認表user中的數據。

3、事務開始。

4、刪除表user中的全部數據。

5、再次確認表user中的數據。

6、回滾處理.

7、確認表user中的數據是否恢復。

可以看出,最後表user中數據恢復到了初始的狀態。如果將上面的[ROLLBACK]換成[COMMIT],那麼刪除的處理就被提交,再也不可恢復,在執行[COMMIT]前還是需要最後確認一下。

文章來源uphtm.com網頁編程。轉載請注明出處:http://uphtm.com/database/183.html


php對於mysql數據庫簡單事務回滾問題

$sql2 沒發現錯誤 執行成功。

這個可以分段驗證
直接 print_r($r2) 看是否真的有SQL錯誤
另外 !$r1 這種寫法是否可以判斷錯誤?
你 $r2 如果輸出錯誤 是否是 $r2 === false ? 也許是其他?
用 var_dump 查看下
 

什是SQLSERVER事務處理與事務回滾?

所謂事務是用戶定義的一個數據庫操作序列,這些操作要麼全做要麼全不做,是一個不可分割的工作單位。例如,在關系數據庫中,一個事務可以是一條SQL語句、一組SQL語句或整個程序。

簡單舉個例子就是你要同時修改數據庫中兩個不同表的時候,如果它們不是一個事務的話,當第一個表修改完,可是第二表改修出現了異常而沒能修改的情況下,就只有第二個表回到未修改之前的狀態,而第一個表已經被修改完畢。

而當你把它們設定為一個事務的時候,當第一個表修改完,可是第二表改修出現了異常而沒能修改的情況下,第一個表和第二個表都要回到未修改的狀態!這就是所謂的事務回滾。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved