Spec-Zone .ru
спецификации, руководства, описания, API
|
Обычно, ошибки происходит для операторов изменения данных (такой как INSERT
или UPDATE
)
это нарушило бы первичный ключ, уникальный ключ, или ограничения внешнего ключа. Если Вы используете
транзакционный механизм хранения такой как InnoDB
, MySQL автоматически откатывает
оператор. Если Вы используете нетранзакционный механизм хранения, MySQL прекращает обрабатывать оператор в
строке, для которой ошибка произошла и листы любые остающиеся необработанные строки.
MySQL поддерживает IGNORE
ключевое слово для INSERT
, UPDATE
,
и т.д. Если Вы используете это, MySQL игнорирует нарушения первичного ключа или уникального ключа и продолжает
обрабатывать со следующей строкой. См. раздел для оператора, который Вы используете (Раздел
13.2.5,"INSERT
Синтаксис", Раздел
13.2.11,"UPDATE
Синтаксис", и т.д).
Можно получить информацию о числе строк, фактически вставленных или обновленных с mysql_info()
C API-функция. Можно также использовать SHOW WARNINGS
оператор. См. Раздел 22.8.7.35,"mysql_info()
", и Раздел
13.7.5.41,"SHOW WARNINGS
Синтаксис".
В настоящий момент, только InnoDB
таблицы поддерживают внешние ключи. См. Раздел 5.4.5,"InnoDB
и
FOREIGN KEY
Ограничения".