MySQL分散式交易語句操作

來源:互聯網
上載者:User

標籤:


語句:

XA {START|BEGIN} xid

XA END xid 

XA PREPARE xid

XA COMMIT xid [ONE PHASE]

XA ROLLBACK xid

XA RECOVER


XA START xid | XA BEGIN xid   

開始一個事務,並將事務置於ACTIVE狀態,此後執行的SQL語句都將置於該事務中。

XA END xid

將事務置於IDLE狀態,表示事務內SQL操作完成。

後續事務操作可以使XA PREPARE xid 或 XA COMMIT xid ONE PHASE.

XA PREPARE xid

實現事務提交的準備工作,事務狀態置於PREPARED狀態。

事務如果無法提交,該語句將會失敗。

此後可執行XC COMMIT和XA ROLLBACK

XA COMMIT xid  

事務最終提交,完成持久化,事務完成。

XA COMMIT xid ONE PHASE

在XA END後執行,該語句一併包含XA PREPARE和XA COMMIT。

XA ROLLBACK xid

交易回復並終止。

樣本程式:
  // 分別建立指向兩個資料庫的串連,並各自建立相應的表,DDL語句不能在事務過程中執行。      create_connection1(&_G_connect1);      create_connection2(&_G_connect2);      create_table_member(&_G_connect1);      create_table_member(&_G_connect2);  // 兩個資料庫分別建立兩個分散式交易      _G_connect1.direct_exec("xa begin ‘xa-trans‘");      _G_connect2.direct_exec("xa start ‘xa-trans‘");  // 向兩個庫表中分別寫入資料      insert_record_direct(&_G_connect1);      insert_record_direct(&_G_connect2);  // SQL操作完成      _G_connect1.direct_exec("xa end ‘xa-trans‘");      _G_connect2.direct_exec("xa end ‘xa-trans‘");  // 事務準備提交      _G_connect1.direct_exec("xa prepare ‘xa-trans‘");      _G_connect2.direct_exec("xa prepare ‘xa-trans‘");  // 事務最終提交      _G_connect1.direct_exec("xa commit ‘xa-trans‘");      _G_connect2.direct_exec("xa commit ‘xa-trans‘");    // 如某個資料庫準備提交失敗,則可以交易回復      //_G_connect1.direct_exec("xa rollback ‘xa-trans‘");      //_G_connect1.direct_exec("xa rollback ‘xa-trans‘");    // xa prepare和xa commit,可以使用xa commit one phase一條陳述式完成      _G_connect1.direct_exec("xa commit ‘xa-trans‘ one phase");      _G_connect2.direct_exec("xa commit ‘xa-trans‘ one phase");


MySQL分散式交易語句操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.