在處理數據庫數據的時候會出現一種情況就是我們刪除兩個關聯的表其中一個表的信息,另一個表也需要改動,但是我們SQL語句在同時更改兩個表的同時,難免會出現一個表修改成功,另一個出現錯誤,這時候表與表之間就會出現矛盾,就用到了回滾,為了更安全的修改表的數據,就有了事務。
1.開啟事務: start transaction; / begin ;
舉個例子,我要把職務表里面的職務刪除一個,在操作正確的情況下是這樣的:
?id是1的部門已經沒有了,
同時,1號職務的員工也沒有了,
再來一個錯誤的例子:
這樣就會出現一種員工選擇2號職位但是職位表里面卻沒有2號職位
?再看,
所以我們就要在處理這種數據之前要開啟一個事物作為保障,如果失敗還可以回滾事務,作為應急。
2.提交事務: commit;
?開啟一個事務之后,在運行完指定指令之后要提交事務,否則會可視化界面跟后天數據不同步,舉個例子:
看不提交結果:
提交一下再看:
這就是提交事務。
3.回滾事務: rollback;
這相當于一個保險栓,防止數據操作一般出現錯誤而造成烏龍,看例子:
這里錯誤就不展示了,創建事務展示過了,直接回滾:
?