repeatable-read 即可重複讀,set autocommit= 0或者start transaction狀態下select表的內容不會改變。這種隔離級別可能導致讀到的東西是已經修改過的。
比如:回話一中讀取乙個字段一行a=1
在回話二里這個字段該行修改a=0,並且提交
回話一中再update這個欄位a=0,會發現受影響行數是0,這樣就可以根據受影響行數是0還是1判斷此次修改是否成功!
這在某些程式裡會很有用!
會話1:
mysql> set autocommit=0;
query ok, 0 rows affected (0.00 sec)
mysql> select * from test.dd where id=1;
+----+------+
| id | aa |
+----+------+
| 1 | 2 |
+----+------+
1 row in set (0.00 sec)
會話2:
mysql> update test.dd set aa=1 where id=1;
query ok, 1 row affected (0.09 sec)
rows matched: 1 changed: 1 warnings: 0
會話1:
mysql> select * from test.dd where id=1;
+----+------+
| id | aa |
+----+------+
| 1 | 2 |
+----+------+
1 row in set (0.00 sec)
mysql> update test.dd set aa=1 where id=1;
query ok, 0 rows affected (0.00 sec)
rows matched: 1 changed: 0 warnings: 0
此處的受影響行數為0,我們可以根據這個值判斷這次update是否成功,這在需要更改某些行的狀態位的時候是比較有用的!
php mysql隔離 MySQL事務隔離級別
事務併發導致的問題是資料庫需要重點解決的問題,關於事務處理的技術都已經非常成熟了,四種隔離級別再加上乙個快照是所有資料庫 mysql commit query ok,0 rows affected 0.04 sec mysql select from innodb where name age fz...
SQL Server 更改隔離級
更改sql server 事務隔離級別為read committed snapshot 1 檢視當前資料庫的隔離級別 dbcc useroptions isolation level 這項的值就代表當前的隔離級別 2 更改資料庫 必須關閉除了當前連線之外的所有的資料庫連線 alter databas...
mysql隔離級別 mysql事務及隔離級別
這是關於php高階到架構之mysql高階學習的第二篇文章 mysql事務及隔離級別 乙個最小的不可再分的工作單元 通常乙個事務對應乙個完整的業務 例如銀行賬戶轉賬業務,該業務就是乙個最小的工作單元 1 原子性 atomicity 事務開始後所有操作,要麼全部做完,要麼全部不做。也就是說事務是乙個不可...