事務操作分兩種:
使用事務的前提是 存儲引擎必須是InnoDB,BDB
自動事務(默認)、手動事務
手動事務的操作流程
開啟事務:start transaction;
進行事務操作
關閉事務
提交事務:commit; 同步數據表,表示操作成功
只要comit提交了,就不可以返回上一步的數據
回滾事務:rollback; 直接清空日志表,表示操作失敗
事務操作原理:事務開啟之后,所有的操作都會臨時保存到事務日志,而事務日志只有在得到commit命令才會同步到數據表,其他任何情況都會清空,比如rollback、斷電、斷開連接
事務的操作游程:
自動事務處理
show variables like 'autocommit';
關閉自動提交:set autocommit=off/0;
當進入事務處理的時候,commit會自動變成手動提交
事務的四大特性:ACID
A:Atomic,原子性 (不是成功就是失敗)
C:Consistency,一致性(實務操作中數據是一致的,只有同步之后的數據才會發(fā)生變化)
I:Isolation,隔離性(連個事務相互隔離,不受印象)
D:Durability,持久性 (數據一但提交,不可改變,不能回滾)
鎖機制
當使用非索引字段時,行鎖自動上升為表鎖