第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang Postgres 可重復(fù)讀取隔離級別不起作用

Golang Postgres 可重復(fù)讀取隔離級別不起作用

Go
精慕HU 2023-06-19 17:10:06
我對REPEATABLE READ事務(wù)隔離級別的理解是,一旦設(shè)置好,事務(wù)中讀通的數(shù)據(jù)就不會改變。我已經(jīng)使用以下代碼來驗證這一點:ctx = context.Background()tx, _ := db.BeginTx(ctx, &sql.TxOptions{Isolation: sql.LevelSerializable}) time.Sleep(5 * time.Second)// do query on tx在進(jìn)程休眠時,我通過控制臺插入了另一條記錄。但是結(jié)果中出現(xiàn)了新插入的記錄。為什么會這樣?我不想讀取交易開始后插入的記錄。我也試過:tx, _ := db.Begin()_, err = tx.Exec(`set transaction isolation level repeatable read;`)但結(jié)果仍然是一樣的。
查看完整描述

1 回答

?
繁星點點滴滴

TA貢獻(xiàn)1803條經(jīng)驗 獲得超3個贊

REPEATABLE READ或事務(wù)的快照SERIALIZABLE不是在事務(wù)啟動時拍攝的,而是在事務(wù)內(nèi)部運行第一條SQL語句時拍攝的。

首先,這是針對事務(wù)根本不運行任何語句的情況的優(yōu)化。其次,這是允許在事務(wù)開始之后設(shè)置事務(wù)隔離級別的唯一方法,但在運行任何 SQL 語句之前

SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;


查看完整回答
反對 回復(fù) 2023-06-19
  • 1 回答
  • 0 關(guān)注
  • 159 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號