我們可以在mysql事務處理過程中定義保存點(SAVEPOINT),然後回滾到指定的保存點前的狀態。
定義保存點,以及回滾到指定保存點前狀態的語法如下。
下面演示將向表user中連續插入3條數據,在插入第2條數據的後面定義一個保存點,最後看看能否回滾到此保存點。
1、查看user表中的數據
2、mysql事務開始
3、向表user中插入2條數據
4、指定保存點,保存點名為test
5、向表user中插入第3條數據
6、回滾到保存點test
我們可以看到保存點test以後插入的記錄沒有顯示了,即成功團滾到了定義保存點test前的狀態。利用保存點可以實現只提交事務中部分處理的功能。
文章來源網頁編程,轉載請注明出處:http://uphtm.com/database/192.html
提交就是一個事務完成數據操作最後執行了,回滾了就是一個事物裡之前的操作全部取消了啊。
答案是:任何情況下的事務嵌套.只要任何地方出錯,全回滾.
事務組合一系列任務為一個執行單元。每個事務以特定的任務開始,以特定的任務結束。當所有的任務成功時事務成功,當任何一個任務失敗時,事務失敗。所以一個事務只有兩個結果:失敗或成功。
請參考:《SQL Server的事務和錯誤處理》:
www.it118.org/...b3.htm