SQL中事務隔離

2021-10-10 01:52:28 字數 1026 閱讀 3147

use db3;

insert

into account(name,balance)

values

("張三"

,1000),

("李四"

,1000);

-- 張三轉500給李四

-- 張三賬戶減500,李四加500,需要確保這些動作同時完成,不然會有損失

update account set balance =

5000

;#1.張三轉賬500

update account set balance = balance -

500where name =

"張三"

;#2.李四增加500

出錯點,人為製造一下出錯誤的點,這句話會出錯的,這樣張三沒了500塊錢,但是李四這裡每增加錢,相當於出錯了

update account set balance = balance +

500where name =

"李四"

;#可以利用事務管理,管理多件事情,確保所有事情同時發生,防止發生意外

start

transaction

;#開始事務,先給你看一下,資料臨時變化,看看有沒有問題,有問題可以回滾,可以把事務回滾到之前狀態

update account set balance = balance -

500where name =

"張三"

;update account set balance = balance +

500where name =

"李四"

;commit

;#提交事務

select @@autocommit

;#事務的提交方式1代表自動提價,0代表手動

set @@autocommit=0

;#修改事務提交方式,從自動變成手動提交,這樣每一條語句,都需要commit提交,進行手動提交

在這裡插入**片

SQL中事務的隔離級別

sql server隔離 收藏 sql server隔離語句如下 set transaction isolation level read uncommitted read committed repeatable read snapshot serializable 一次只能設定乙個隔離級別選項,...

SQL 事務隔離級別

髒讀 包含未提交資料的讀。例如,事務1 更改了某行。事務2 在事務1 提交更改之前讀取已更改的行。如果事務1 回滾更改,則事務2 便讀取了邏輯上從未存在過的行。不可重複讀取 當某個事務不止一次讀取同一行,並且乙個單獨的事務在兩次 或多次 讀取之間修改該行時。因為在同乙個事務內的多次讀取之間修改了該行...

SQL 隔離級別與事務

前言 事物 事物是指一組原子性的sql查詢。如 銀行轉賬 a要轉賬給b100,在資料庫中至少三步 1.a的賬戶查詢餘額大於100,2.a賬戶減少100,3.b的賬戶要增加100這樣這個事物才算真的完成,這裡的幾條sql語句應該一起完成或者失敗,失敗就會發生回滾,成功則提交事務。隔離 隔離的產生主要是...