Name
XA
Synopsis
XA {START|BEGIN} 'identifier
' [JOIN|RESUME] XA PREPARE 'identifier
' XA COMMIT 'identifier
' [ONE PHASE] XA ROLLBACK 'identifier
' XA RECOVER XA END 'identifier
' [SUSPEND [FOR MIGRATE]]
This statement is used for XA distributed transactions. These are transactions in which multiple, separate transactional resources may be involved in a global transaction. In MySQL, this is currently available only with InnoDB tables.
The XA START
statement starts an XA
transaction, assigning an identifier to be used in subsequent
statements, and puts the transaction into an ACTIVE
state. Implicit commits cannot be made while the transaction is in
ACTIVE
state. This statement is synonymous with
XA BEGIN
. The JOIN
and
RESUME
keywords are not supported.
Once you’ve entered all of the SQL statements for a particular
session, mark the transaction as PREPARED
by
executing an XA PREPARE
. XA
RECOVER
lists all transactions in a prepared state. Use the
XA COMMIT ONE PHASE
statement to mark the XA
transaction just given as prepared and committed. XA
COMMIT
without the ONE PHASE
keyword
will commit and end the entire transaction. Use XA
ROLLBACK
to undo the specified XA transaction and terminate
it. XA END
ends the specified transaction and puts
it into an IDLE
state.
Get MySQL in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.