程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 淺析MYSQL REPEATABLE-READ隔離級別

淺析MYSQL REPEATABLE-READ隔離級別

編輯:MySQL綜合教程

淺析MYSQL REPEATABLE-READ隔離級別。本站提示廣大學習愛好者:(淺析MYSQL REPEATABLE-READ隔離級別)文章只能為提供參考,不一定能成為您想要的結果。以下是淺析MYSQL REPEATABLE-READ隔離級別正文


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

會話3:

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能否勝利,這在須要更改某些行的狀況位的時刻是比擬有效的!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved