GNU Info

Info Node: (mysql.info)Error handling

(mysql.info)Error handling


Next: InnoDB restrictions Prev: File space management Up: InnoDB
Enter node , (file) or (file)node

Error handling
--------------

The error handling in InnoDB is not always the same as specified in the
ANSI SQL standards. According to the ANSI standard, any error during an
SQL statement should cause the rollback of that statement. InnoDB
sometimes rolls back only part of the statement.  The following list
specifies the error handling of InnoDB.

   * If you run out of file space in the tablespace, you will get the
     MySQL `'Table is full'' error and InnoDB rolls back the SQL
     statement.

   * A transaction deadlock or a timeout in a lock wait will give
     `'Table handler error 1000000'' and InnoDB rolls back the SQL
     statement.

   * A duplicate key error only rolls back the insert of that
     particular row, even in a statement like `INSERT INTO ... SELECT
     ...'.  This will probably change so that the SQL statement will be
     rolled back if you have not specified the `IGNORE' option in your
     statement.

   * A 'row too long' error rolls back the SQL statement.

   * Other errors are mostly detected by the MySQL layer of code, and
     they roll back the corresponding SQL statement.


automatically generated by info2www version 1.2.2.9