Oracle 5.0 Reference Manual page 1301

Table of Contents

Advertisement

Both deadlocks and lock wait timeouts are normal on busy servers and it is necessary for
applications to be aware that they may happen and handle them by retrying. You can make them
less likely by doing as little work as possible between the first change to data during a transaction
and the commit, so the locks are held for the shortest possible time and for the smallest possible
number of rows. Sometimes splitting work between different transactions may be practical and
helpful.
When a transaction rollback occurs due to a deadlock or lock wait timeout, it cancels the effect of the
statements within the transaction. But if the start-transaction statement was
or
BEGIN
of the transaction until the occurrence of COMMIT, ROLLBACK, or some SQL statement that causes
an implicit commit.
• A duplicate-key error rolls back the SQL statement, if you have not specified the
your statement.
• A
row too long error
• Other errors are mostly detected by the MySQL layer of code (above the
level), and they roll back the corresponding SQL statement. Locks are not released in a rollback of a
single SQL statement.
During implicit rollbacks, as well as during the execution of an explicit
PROCESSLIST
14.2.11.1.
InnoDB
The following is a nonexhaustive list of common InnoDB-specific errors that you may encounter, with
information about why each occurs and how to resolve the problem.
1005 (ER_CANT_CREATE_TABLE)
Cannot create table. If the error message refers to error 150, table creation failed because a foreign
key constraint was not correctly formed. If the error message refers to error –1, table creation
probably failed because the table includes a column name that matched the name of an internal
table.
InnoDB
1016 (ER_CANT_OPEN_FILE)
Cannot find the
See
Section 14.2.12.4, "Troubleshooting
1114 (ER_RECORD_FILE_FULL)
has run out of free space in the tablespace. You should reconfigure the tablespace to add a
InnoDB
new data file.
1205 (ER_LOCK_WAIT_TIMEOUT)
Lock wait timeout expired. Transaction was rolled back.
1213 (ER_LOCK_DEADLOCK)
Transaction deadlock. You should rerun the transaction.
1216 (ER_NO_REFERENCED_ROW)
You are trying to add a row but there is no parent row, and a foreign key constraint fails. You should
add the parent row first.
1217 (ER_ROW_IS_REFERENCED)
InnoDB
statement, rollback does not cancel that statement. Further SQL statements become part
rolls back the SQL statement.
displays
Rolling back
Error Codes
table from the
InnoDB
Error Handling
in the
column for the relevant connection.
State
data files, although the
InnoDB
Data Dictionary
InnoDB
1281
START TRANSACTION
IGNORE
storage engine
InnoDB
SQL statement,
ROLLBACK
file for the table exists.
.frm
Operations".
option in
SHOW

Advertisement

Table of Contents
loading

This manual is also suitable for:

Mysql 5.0

Table of Contents