MySQL :: MySQL 8.0 Reference Manual :: 1.7.3.1 PRIMARY KEY and UNIQUE Index Constraints

1.7.3.1 PRIMARY KEY and UNIQUE Index Constraints

Zazwyczaj błędy występują dla instrukcji zmiany danych (takich jak INSERT lub UPDATE), które naruszałyby ograniczenia klucza głównego, unikalnego lub obcego. Jeśli używasz transakcyjnego mechanizmu przechowywania danych, takiego jak InnoDB, MySQL automatycznie cofnie wyrażenie. Jeśli używasz silnika beztransakcyjnego, MySQL zatrzymuje przetwarzanie wyrażenia na wierszu, dla którego wystąpił błąd i pozostawia wszystkie pozostałe wiersze nieprzetworzone.

MySQL obsługuje IGNORE słowo kluczowe dla INSERTUPDATE i tak dalej. Jeśli go użyjesz, MySQL ignoruje naruszenia klucza głównego lub unikalnego i kontynuuje przetwarzanie od następnego wiersza. Zobacz sekcję dla wyrażenia, którego używasz (Sekcja 13.2.6, „Instrukcja INSERT”, Sekcja 13.2.13, „Instrukcja UPDATE” i tak dalej).

Informację o liczbie faktycznie wstawionych lub zaktualizowanych wierszy można uzyskać za pomocą funkcji mysql_info() C API. Możesz również użyć instrukcji SHOW WARNINGS. Zobacz mysql_info(), i Sekcja 13.7.7.42, „Oświadczenie SHOW WARNINGS”.

InnoDB i NDB tabele obsługują klucze obce. Zobacz sekcję 1.7.3.2, „Ograniczenia klucza obcego”.