MySQL中的事務

2021-09-01 20:50:13 字數 856 閱讀 8361

在預設情況下,mysql每執行一條sql語句,都是乙個單獨的事務。如果需要在乙個事務中包含多條sql語句,那麼需要開啟事務和結束事務。

開啟事務:start transaction

結束事務:commitrollback

在執行sql語句之前,先執行strat transaction,這就開啟了乙個事務(事務的起點),然後可以去執行多條sql語句,最後要結束事務,commit表示提交,即事務中的多條sql語句所做出的影響會持久化到資料庫中。或者rollback,表示回滾,即回滾到事務的起點,之前做的所有操作都被撤消了!

下面演示zs給li轉賬10000元的示例:

start transaction;

update account set balance=balance-10000 where id=1;

update account set balance=balance+10000 where id=2;

rollback;

start transaction;

update account set balance=balance-10000 where id=1;

update account set balance=balance+10000 where id=2;

commit;

start transaction;

update account set balance=balance-10000 where id=1;

update account set balance=balance+10000 where id=2;

quit;

mysql中事務的特性 mysql中事務的四大特性

原子性 atomicity 事務就像 原子 一樣,不可被分割,組成事務的dml操作語句要麼全成功,要麼全失敗,不可能出現部分成功部分失敗的情況。一致性 consistency 一旦事務完成,不管是成功的,還是失敗的,整個系統處於資料一致的狀態。隔離性 isolation 乙個事務的執行不會被另乙個事...

mysql中的事務和鎖 MySQL中的事務和鎖

鎖 行級鎖select for update nowaitfalse,skip false 注意必須用在事物裡面 所有匹配的行將被鎖定,知道事務結束。這意味著可以通過鎖防止資料被其他事務修改。一般情況下如果其他事務鎖定了相關行,那麼本查詢將被阻塞,直到鎖被釋放。事務事務的四大特性 1.原子性 事務包...

MySql中的事務

一.mysql的事務支援不是繫結在mysql伺服器本身,而是與儲存引擎相關 1.myisam 不支援事務,用於唯讀程式提高效能 2.innodb 支援acid事務 行級鎖 併發 二.乙個事務是乙個連續的一組資料庫操作,就好像它是乙個單一的工作單元進行。換言之,永遠不會是完整的事務,除非該組內的每個單...