欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL的savepoint簡介及實例

 更新時間:2023年08月23日 09:54:28   作者:一戶董  
MySQL中的保存點Savepoint是一個用于控制事務的重要工具,本文主要介紹了MySQL的savepoint簡介及實例,具有一定的參考價值,感興趣的可以了解一下

寫在前面

本文看下MySQL的savepoint相關內容。

1:什么是savepoint

savepoint是事務中一個概念,允許在事務執(zhí)行的過程中暫存事務執(zhí)行到當前所產生的修改,這樣當我們需要回滾事務時就可以選擇回滾到某個保存點,而不用回滾整個事務。語法格式如下:

生成一個savepoint:
    SAVEPOINT the_savepoint_name
回滾事務到某個savepoint:
    ROLLBACK [WORK] TO [SAVEPOINT] the_savepoint_name
釋放暫存點:
	RELEASE SAVEPOINT the_savepoint_name

2:實例

如下表:

mysql> select * from words where id in (1,2);
+----+------+
| id | word |
+----+------+
|  1 | aaaa |
|  2 | aaab |
+----+------+
2 rows in set (0.00 sec)

接下來我們分別對id為1,2的word都拼加字符串hi,并分別生成保存點,最終回滾到id為1的修改保存點,并提交事務,因此最終只有id=1的word會追加hi成功,操作如下:

mysql> start transaction with consistent snapshot;
Query OK, 0 rows affected (0.00 sec)
mysql> update words set word=concat(word,'hi') where id=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> savepoint sp_id_1; // 生成第一個暫存點
Query OK, 0 rows affected (0.00 sec)
mysql> update words set word=concat(word,'hi') where id=2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> savepoint sp_id_2; // 生成第二個暫存點
Query OK, 0 rows affected (0.00 sec)
mysql> rollback to savepoint sp_id_1; // 回滾到第一個暫存點,則第一個暫存點之后的所有修改都會被回滾,但第一個暫存點之前的修改回被保留
Query OK, 0 rows affected (0.00 sec)
mysql> commit;
Query OK, 0 rows affected (0.06 sec)
mysql> select * from words where id in (1,2); 
+----+--------+
| id | word   |
+----+--------+
|  1 | aaaahi |
|  2 | aaab   |
+----+--------+
2 rows in set (0.00 sec)

可以看到最終只要id=1的word值成功追加了hi。

寫在后面

參考文章列表

MySQL 基礎 ———— SAVEPOINT 的應用 。

到此這篇關于MySQL的savepoint簡介及實例的文章就介紹到這了,更多相關MySQL savepoint內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 一文了解MySQL事務隔離級別

    一文了解MySQL事務隔離級別

    這篇文章主要介紹了一文了解MySQL事務隔離級別,MySQL?事務隔離級別是為了解決并發(fā)事務互相干擾的問題的,文章介紹?4?種事物隔離,需要的小伙伴可以學習一下
    2022-07-07
  • MySQL中定時器的底層實現原理及使用方法

    MySQL中定時器的底層實現原理及使用方法

    定時器可以用于定期執(zhí)行特定的SQL語句、備份數據、生成報表等操作,本文將詳細介紹MySQL中定時器的底層實現機制以及如何使用它
    2023-07-07
  • MySQL?中的?SQL_MODE?設置方法ANSI_QUOTES?選項解析與應用小結

    MySQL?中的?SQL_MODE?設置方法ANSI_QUOTES?選項解析與應用小結

    sql_mode是?MySQL?中的一個系統(tǒng)變量,用于控制?SQL?語句的解析和執(zhí)行方式,它由多個選項組成,每個選項都可以獨立設置,以滿足不同的應用場景需求,這篇文章主要介紹了MySQL?中的?SQL_MODE?設置:ANSI_QUOTES?選項解析與應用
    2024-12-12
  • Windows XP系統(tǒng)安裝MySQL5.5.28圖解教程

    Windows XP系統(tǒng)安裝MySQL5.5.28圖解教程

    很多朋友在winxp系統(tǒng)中開發(fā)php等,需要安裝mysql數據庫,這里簡單介紹下,如何在xp下安裝mysql軟件,其實跟其它系統(tǒng)都差不多,主要是軟件對系統(tǒng)的兼容性
    2013-05-05
  • MySQL 分區(qū)與分庫分表策略應用小結

    MySQL 分區(qū)與分庫分表策略應用小結

    在大數據量、復雜查詢和高并發(fā)的應用場景下,單一數據庫往往難以滿足性能和擴展性的要求,本文將詳細介紹這兩種策略的基本概念、實現方法及優(yōu)缺點,并通過實際案例展示如何在項目中應用它們,感興趣的朋友一起看看吧
    2025-04-04
  • mysql 5.7.23 安裝配置方法圖文教程

    mysql 5.7.23 安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 5.7.23安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • MySQL對于各種鎖的概念理解

    MySQL對于各種鎖的概念理解

    今天小編就為大家分享一篇關于MySQL對于各種鎖的概念理解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 基于mysql實現group by取各分組最新一條數據

    基于mysql實現group by取各分組最新一條數據

    這篇文章主要介紹了基于mysql實現group by取各分組最新一條數據,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • MySQL獲取系統(tǒng)性能和狀態(tài)代碼

    MySQL獲取系統(tǒng)性能和狀態(tài)代碼

    使用MySQL獲取系統(tǒng)性能和狀態(tài)的代碼片段,由此需求的朋友可以參考下,希望對大家有所幫助
    2013-07-07
  • 自學MySql內置函數知識點總結

    自學MySql內置函數知識點總結

    在本篇文章里小編給大家整理的是關于MySql內置函數的知識點總結內容,需要的朋友們可以學習參考下。
    2020-01-01

最新評論