Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL :ERROR 1215 (HY000):Nie można dodać ograniczenia klucza obcego

Gdy pojawi się ten niejasny komunikat o błędzie, możesz znaleźć bardziej szczegółowy błąd, uruchamiając

SHOW ENGINE INNODB STATUS;

Najczęstsze powody to fakt, że podczas tworzenia klucza obcego zarówno pole, do którego istnieje odwołanie, jak i pole klucza obcego, muszą być zgodne:

  • Silnik powinien być taki sam np. InnoDB
  • Typ danych powinien być taki sam i mieć tę samą długość.
    np. VARCHAR(20) lub INT(10) UNSIGNED
  • Składanie powinno być takie samo. np. utf8
  • Unikalny - Klucz obcy powinien odnosić się do pola, które jest unikalne (zazwyczaj prywatne) w tabeli referencyjnej.

Inną przyczyną tego błędu jest:
Zdefiniowałeś warunek SET NULL, chociaż niektóre kolumny są zdefiniowane jako NOT NULL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Problem PHP OOP z bazą danych

  2. PHP + MySql + Procedury składowane, jak uzyskać dostęp do wartości wyjściowej?

  3. Jak zmienić katalog bazy danych mysql na WAMP

  4. Ile kolumn możesz mieć (maksymalnie) w tabeli MySQL?

  5. Enum w hibernacji, utrzymujące się jako enum