mysql事務的用途 MySQL事務功能

2021-10-18 07:18:47 字數 1197 閱讀 9808

mysql事務功能

1.事務簡述

乙個事務是乙個連續的一組資料庫操作,就好像它是乙個單一的工作單元進行。換言之,永遠不會是完整的事務,除非該組內的每個單獨的操作是成功的。如果在事務的任何操作失敗,則整個事務將失敗。

2.事務特性

原子性:在事務的操縱中,要麼都執行、要麼都不執行

一致性:事務中,保證資料從乙個一致狀態變為另一一致狀態

隔離性:每個事務互不干擾,一起執行也可

永續性:事務提交後,資料的影響是永久性的

3.事務使用

(1)自動提交

mysql> set autocommit=1; //開啟事務自動提交,set autocommit=0禁止自動提交

(2)手動提交

mysql> begin; //事務開始宣告

mysql> sql語句...; //執行的sql語句

mysql> rollback; //回滾事務

mysql> commit; //提交事務

注:回滾只能回滾當前事務提交之前操縱,所有當前事務提交成功的全部失效

(3)自動回滾的情況

begin後手動退出資料庫(如ctrl+c、quit、exit)

伺服器斷電

(4)例子:轉賬

1.給對方轉賬1000,帳號不對

2.輸入轉入金額

3.提交確認

begin;

create database hehe;

create table hehe.a(number int,user char(4),menony int(4));

insert into hehe.a values ('1','a','1000');

insert into hehe.a values ('2','b','10');

commit; //正常提交

事務操作

begin; //開始

update hehe.a set menony='0' where user='a';

rollback; //回滾操作

begin;

update hehe.a set menony='0' where user='a';

update hehe.a set menony='1010' where user='b';

commit; //提交

rollback; //由於系統已經提交,故不能撤銷,

mysql 事務 數量 Mysql 事務

什麼是事務 不可分割的操作,比如乙個事務要修改 a 表和刪除 b 表的資料兩個操作,這兩個操作都成功,這個事務才 commit,不然 rollback 每條 sql 語句都是乙個事務 只對 dml 生效 caid 一致性 consistency 讓資料保持一定程度的合理性,比如使用者加入購物車,購物...

mysql事務操作 mysql的事務操作

倒著思考。杜絕純粹的知識填鴨教育 少廢話,是上 update table1 set money 100 where id 1 a賬戶減少100元 update table2 set money 100 where id 2 b 賬戶增加100元 問題 這是乙個簡單的銀行轉賬案例sql,由於伺服器等未...

mysql事務機制 Mysql事務機制

mysql事務是指將資料庫從一種一致性狀態轉到另一種一致性狀態 mysql事務具有acid特性 原子性 atomicity 事務中的所有操作,要麼全部執行,要麼都不執行 一致性 consistency 事務開始和結束後,資料庫的完整性不會被破壞 隔離性 isolation 事務之間互不影響。事務的隔...