DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) savepoints

Info Catalog (mysql.info) implicit-commit (mysql.info) transactional-commands (mysql.info) lock-tables
 
 13.4.4 `SAVEPOINT' and `ROLLBACK TO SAVEPOINT' Syntax
 -----------------------------------------------------
 
      SAVEPOINT IDENTIFIER
      ROLLBACK [WORK] TO SAVEPOINT IDENTIFIER
      RELEASE SAVEPOINT IDENTIFIER
 
 `InnoDB' supports the SQL statements `SAVEPOINT' and `ROLLBACK TO
 SAVEPOINT'. Starting from MySQL 5.0.3, `RELEASE SAVEPOINT' and the
 optional `WORK' keyword for `ROLLBACK' are supported as well.
 
 The `SAVEPOINT' statement sets a named transaction savepoint with a
 name of IDENTIFIER. If the current transaction has a savepoint with the
 same name, the old savepoint is deleted and a new one is set.
 
 The `ROLLBACK TO SAVEPOINT' statement rolls back a transaction to the
 named savepoint. Modifications that the current transaction made to
 rows after the savepoint was set are undone in the rollback, but
 `InnoDB' does _not_ release the row locks that were stored in memory
 after the savepoint. (Note that for a new inserted row, the lock
 information is carried by the transaction ID stored in the row; the
 lock is not separately stored in memory.  In this case, the row lock is
 released in the undo.) Savepoints that were set at a later time than
 the named savepoint are deleted.
 
 If the `ROLLBACK TO SAVEPOINT' statement returns the following error,
 it means that no savepoint with the specified name exists:
 
      ERROR 1181: Got error 153 during ROLLBACK
 
 The `RELEASE SAVEPOINT' statement removes the named savepoint from the
 set of savepoints of the current transaction. No commit or rollback
 occurs. It is an error if the savepoint does not exist.
 
 All savepoints of the current transaction are deleted if you execute a
 `COMMIT', or a `ROLLBACK' that does not name a savepoint.
 
 Beginning with MySQL 5.0.17, a new savepoint level is created when a
 stored function is invoked or a trigger is activated. The savepoints on
 previous levels become unavailable and thus do not conflict with
 savepoints on the new level. When the function or trigger terminates,
 any savepoints it created are released and the previous savepoint level
 is restored.
 
Info Catalog (mysql.info) implicit-commit (mysql.info) transactional-commands (mysql.info) lock-tables
automatically generated byinfo2html