最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL事務(wù)的SavePoint簡介及操作

 更新時間:2023年01月07日 14:51:06   作者:阿布  
SavePoint是數(shù)據(jù)庫事務(wù)中的一個概念, 可以將整個事務(wù)切割為不同的小事務(wù), 可以選擇將狀態(tài)回滾到某個小事務(wù)發(fā)生時的樣子,本文給大家分享MySQL事務(wù)的SavePoint重要操作,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧

什么是SavePoint

SavePoint是數(shù)據(jù)庫事務(wù)中的一個概念, 可以將整個事務(wù)切割為不同的小事務(wù), 可以選擇將狀態(tài)回滾到某個小事務(wù)發(fā)生時的樣子,

語法

定義保存點的語法如下:

SAVEPOINT 保存點的名稱;

當我們想回滾到某個保存點時,可以使用下邊的語句。

ROLLBACK [WORK] TO 保存點的名稱

刪除保存點

RELEASE SAVEPOINT 保存點名稱;

重要操作

開啟事務(wù): begin
....DML語句....
設(shè)置保存點: savepoint 保存點名字
....DML語句....
設(shè)置保存點: savepoint 保存點名字2
....DML語句....
回滾保存點: rollback to 保存點名字2 (此時保存點2后面操作的狀態(tài)都將回滾直保存點2時樣子)

注意,回滾點無法隨意跳轉(zhuǎn),例如上面,如果跳轉(zhuǎn)到第一個保存點名字,就無法再到保存點名字2了,當事務(wù)整體提交、回滾時,保存點也隨之釋放。(一個事務(wù)中可以設(shè)置多少個保存點并無限制)

演示: 接下來用mysql演示一下,思路是向mysql insert三條數(shù)據(jù), 每次insert設(shè)置一個保存點,在第三次insert后回滾到第一個保存點看下效果:

// 開始查詢空表
mysql> select * from t_x;
Empty set
 
// 開啟事務(wù)
mysql> begin;
Query OK, 0 rows affected (0.01 sec)
 
// 插入第一條數(shù)據(jù)
mysql> insert into t_x value(1, '1');
Query OK, 1 row affected (0.01 sec)

// 設(shè)置保存點
mysql> savepoint a1;
Query OK, 0 rows affected (0.01 sec)
 
// 此時查詢一條數(shù)據(jù)
mysql> select * from t_x;
+----+------+
| id | name |
+----+------+
|  1 | 1    |
+----+------+
1 row in set (0.01 sec)

// 插入第二條數(shù)據(jù)
mysql> insert into t_x value(2, '2');
Query OK, 1 row affected (0.01 sec)

// 設(shè)置保存點2
mysql> savepoint a2;
Query OK, 0 rows affected (0.01 sec)

// 查詢兩條數(shù)據(jù)
mysql> select * from t_x;
+----+------+
| id | name |
+----+------+
|  1 | 1    |
|  2 | 2    |
+----+------+
2 rows in set (0.01 sec)

// 插入第三條數(shù)據(jù)
mysql> insert into t_x value(3, '3');
Query OK, 1 row affected (0.01 sec)

// 共三條
mysql> select * from t_x;
+----+------+
| id | name |
+----+------+
|  1 | 1    |
|  2 | 2    |
|  3 | 3    |
+----+------+
3 rows in set (0.01 sec)

// 回滾到第一個保存點
mysql> rollback to a1;
Query OK, 0 rows affected (0.01 sec)

// 此時查詢,只有第一個保存點時的一條數(shù)據(jù)
mysql> select * from t_x;
+----+------+
| id | name |
+----+------+
|  1 | 1    |
+----+------+
1 row in set (0.00 sec)

// 嘗試回滾到第二個保存點, 出錯
mysql> rollback to a2;
1305 - SAVEPOINT a2 does not exist
mysql> 

到此這篇關(guān)于MySQL事務(wù)的SavePoint簡介及操作的文章就介紹到這了,更多相關(guān)MySQL事務(wù)的SavePoint內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

灌云县| 兴安县| 喀喇| 华阴市| 东乡族自治县| 嘉祥县| 安化县| 巴南区| 延寿县| 湛江市| 华亭县| 泉州市| 沾益县| 阿勒泰市| 汉寿县| 宜宾县| 泰宁县| 栖霞市| 鄢陵县| 喀喇沁旗| 诏安县| 英山县| 芦山县| 西充县| 泰安市| 胶州市| 巩义市| 双桥区| 济南市| 扎鲁特旗| 焉耆| 彰武县| 延庆县| 增城市| 湖口县| 呼图壁县| 长沙市| 萝北县| 石屏县| 新乡县| 云和县|