2016-03-07 28 views
-3

我有兩個終端在他們我設置autocommit = 0在第一個終端我插入5行,然後我鍵入承諾它應該現在在第二個終端,我可以看到更新正確嗎?但這不是真的,我需要在第二個終端中鍵入提交之前,我鍵入'select * from table'爲什麼這是必要的有人可以解釋我嗎?數據庫管理系統 - 提交前查詢

+1

'commit'命令會議提交的數據,兩個終端 - 兩個不同的會話,你必須先在第一個終端中提交,以查看第二個終端中的更新數據 –

+0

是的,但是在第一個終端中我插入了幾行,然後我按下提交,它假定在第二個終端中能夠看到以前的變化..但我已經作出承諾之前,我嘗試查看更新的信息 –

+0

我無法理解你如何在終端中按「提交」,你必須「鍵入」提交以實際應用更改 –

回答

1

它看起來怪異,但根據mysql bugblog entry預計與REPEATABLE READ隔離級別,改變一級READ COMMITTED行爲,以避免這個問題

set session transaction isolation level read committed; 
+0

沒有工作..與以前一樣,我需要做出承諾之前,我看到更新的信息 –

+1

@ Costas.K你有沒有在兩個終端執行此聲明?它工作的大壩 –

+0

!你該死的,屁股究竟隔絕了什麼? –