Spec-Zone .ru
спецификации, руководства, описания, API

1.8.6.1. PRIMARY KEY и UNIQUE IndexConstraints

Обычно, ошибки происходит для операторов изменения данных (такой как INSERT или UPDATE) это нарушило бы первичный ключ, уникальный ключ, или ограничения внешнего ключа. Если Вы используете транзакционный механизм хранения такой как InnoDB, MySQL автоматически откатывает оператор. Если Вы используете нетранзакционный механизм хранения, MySQL прекращает обрабатывать оператор в строке, для которой ошибка произошла и листы любые остающиеся необработанные строки.

MySQL поддерживает IGNORE ключевое слово для INSERT, UPDATE, и т.д. Если Вы используете это, MySQL игнорирует нарушения первичного ключа или уникального ключа и продолжает обрабатывать со следующей строкой. См. раздел для оператора, который Вы используете (Раздел 13.2.5,"INSERT Синтаксис", Раздел 13.2.11,"UPDATE Синтаксис", и т.д).

Можно получить информацию о числе строк, фактически вставленных или обновленных с mysql_info() C API-функция. Можно также использовать SHOW WARNINGS оператор. См. Раздел 21.8.7.35,"mysql_info()", и Раздел 13.7.5.39,"SHOW WARNINGS Синтаксис".

В настоящий момент, только InnoDB таблицы поддерживают внешние ключи. См. Раздел 5.4.5,"InnoDB и FOREIGN KEY Ограничения".