Обработка ошибок в InnoDB не всегда соответствует спецификациям, указанным в стандарте ANSI SQL. В соответствии со стандартом ANSI любая ошибка, произошедшая во время выполнения оператора SQL должна привести к откату оператора. InnoDB иногда осуществляет откат только части оператора или целой транзакции. Особенности обработки ошибок в InnoDB указаны в приведенном ниже списке.
Если закончилось свободное
место в табличной области, будет
выдано сообщение об ошибке MySQL
'Table is full' и InnoDB
произведет откат оператора SQL.
Взаимоблокировка транзакции или истечение времени ожидания при блокировке приводят к откату целой транзакции в InnoDB.
Ошибка дублирующегося ключа
приводит к откату вставки только
этой определенной строки, даже в
операторе INSERT INTO ... SELECT
.... Этот алгоритм мы,
возможно, изменим, с тем чтобы
производился откат всего
оператора SQL, если для него не
указан параметр IGNORE.
Ошибка 'row too long'
приводит к откату оператора SQL.
Большинство остальных ошибок обнаруживается на уровне кода MySQL, и производится откат соответствующего оператора SQL.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
