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 事務之間互不影響。事務的隔...