《MYSQL數(shù)據(jù)庫淺析MYSQL REPEATABLE-READ隔離級別》要點:
本文介紹了MYSQL數(shù)據(jù)庫淺析MYSQL REPEATABLE-READ隔離級別,希望對您有用。如果有疑問,可以聯(lián)系我們。
MYSQL數(shù)據(jù)庫REPEATABLE-READ 即可重復讀,set autocommit= 0或者START TRANSACTION狀態(tài)下select表的內(nèi)容不會改變.這種隔離級別可能導致讀到的東西是已經(jīng)修改過的.
MYSQL數(shù)據(jù)庫比如:
MYSQL數(shù)據(jù)庫回話一中讀取一個字段一行a=1
MYSQL數(shù)據(jù)庫在回話二里這個字段該行修改a=0,并且提交
MYSQL數(shù)據(jù)庫回話一中再update這個字段a=0,會發(fā)現(xiàn)受影響行數(shù)是0,這樣就可以根據(jù)受影響行數(shù)是0還是1判斷此次修改是否成功!
MYSQL數(shù)據(jù)庫這在某些程序里會很有用!
MYSQL數(shù)據(jù)庫會話1:
MYSQL數(shù)據(jù)庫mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)
MYSQL數(shù)據(jù)庫mysql> select * from test.dd where id=1;
+----+------+
| id | aa |
+----+------+
| 1 | 2 |
+----+------+
1 row in set (0.00 sec)
MYSQL數(shù)據(jù)庫會話2:
MYSQL數(shù)據(jù)庫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
MYSQL數(shù)據(jù)庫會話3:
MYSQL數(shù)據(jù)庫mysql> select * from test.dd where id=1;
+----+------+
| id | aa |
+----+------+
| 1 | 2 |
+----+------+
1 row in set (0.00 sec)
MYSQL數(shù)據(jù)庫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
MYSQL數(shù)據(jù)庫此處的受影響行數(shù)為0,我們可以根據(jù)這個值判斷這次update是否成功,這在需要更改某些行的狀態(tài)位的時候是比較有用的!
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/4006.html