mysql中的事務
提到事務我就想到食物,真羨慕你們不愁吃喝,呵呵
談及資料庫中的事務,一般要從這三個方面說起
1)開啟事務
2)提交事務
命令:commit
資料庫預設是自動提交即autocommit=true
你不信?可以使用show variables like 'auto%'; 檢視一下啦
set autocommit = 0;關閉自動提交,執行sql語句後,需要commit才會影響資料庫
set autocommit = 1;開啟自動提交,執行完後,直接影響資料庫
沒事別總改全域性變數autocommit哈,會影響別的使用者工作滴。嘗試著習慣start transaction吧
start transaction;
update book set price = price+8 where id='abc1';
commit;
--rollback;
3)回滾事務
命令:rollback
這個很好理解,執行sql出錯了(語法錯誤,邏輯錯誤,不想執行了),怎麼辦?
rooback一行命令幫你搞定,前提是你要開啟事務 \(^o^)/
其它1)支援事務的資料庫引擎有innodb(支援併發,行級鎖定)等等
2)sql執行分兩步
①執行階段②將執行結果提交到資料庫中
3)事務acid屬性分別是
原子性,一致性,隔離性,永續性(就知道你記不住的)
4)在事務中,執行sql語句會暫時存放在事務日誌中,若執行結果成功則。。。
mysql中事務的特性 mysql中事務的四大特性
原子性 atomicity 事務就像 原子 一樣,不可被分割,組成事務的dml操作語句要麼全成功,要麼全失敗,不可能出現部分成功部分失敗的情況。一致性 consistency 一旦事務完成,不管是成功的,還是失敗的,整個系統處於資料一致的狀態。隔離性 isolation 乙個事務的執行不會被另乙個事...
mysql中的事務和鎖 MySQL中的事務和鎖
鎖 行級鎖select for update nowaitfalse,skip false 注意必須用在事物裡面 所有匹配的行將被鎖定,知道事務結束。這意味著可以通過鎖防止資料被其他事務修改。一般情況下如果其他事務鎖定了相關行,那麼本查詢將被阻塞,直到鎖被釋放。事務事務的四大特性 1.原子性 事務包...
MySql中的事務
一.mysql的事務支援不是繫結在mysql伺服器本身,而是與儲存引擎相關 1.myisam 不支援事務,用於唯讀程式提高效能 2.innodb 支援acid事務 行級鎖 併發 二.乙個事務是乙個連續的一組資料庫操作,就好像它是乙個單一的工作單元進行。換言之,永遠不會是完整的事務,除非該組內的每個單...