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

SQL - kod błędu 1005 z numerem błędu 121

Błąd 121 oznacza, że ​​wystąpił błąd ograniczenia klucza obcego. Ponieważ używasz InnoDB, możesz użyć SHOW ENGINE INNODB STATUS po uruchomieniu nieudanego zapytania, aby uzyskać wyjaśnienie w LATEST FOREIGN KEY ERROR Sekcja. Po samodzielnym uruchomieniu twojego SQL, otrzymuję to:

------------------------
LATEST FOREIGN KEY ERROR
------------------------
101210 14:55:50 Error in foreign key constraint creation for table `regula`.`Reservation`.
A foreign key constraint of name `regula`.`prjId`
already exists. (Note that internally InnoDB adds 'databasename'
in front of the user-defined constraint name.)
Note that InnoDB's FOREIGN KEY system tables store
constraint names as case-insensitive, with the
MySQL standard latin1_swedish_ci collation. If you
create tables or databases whose names differ only in
the character case, then collisions in constraint
names can occur. Workaround: name your constraints
explicitly with unique names.

Zasadniczo musisz nadać swojej nazwie ograniczenia prjId unikalną nazwę w ostatniej tabeli. Nazwy ograniczeń/kluczy obcych są globalne dla bazy danych, więc nie mogą być ponownie użyte w różnych tabelach. Po prostu zmień ostatni

  CONSTRAINT `prjId`

do

  CONSTRAINT `prjId2`


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przesłać obrazy do bazy danych MySQL za pomocą kodu PHP?

  2. Jak sprawdzić duże litery w MySQL?

  3. Jak wyłączyć wyzwalacze w MySQL?

  4. ładowanie enwiki-latest-categorylinks.sql do mysql

  5. Jak mogę osiągnąć funkcjonalność initcap w MySQL?