Mysql
 sql >> Database >  >> RDS >> Mysql

Codice di errore:1215. Impossibile aggiungere il vincolo di chiave esterna (chiavi esterne)

Il problema più probabile è questa riga:

FOREIGN KEY (classLeader) REFERENCES student(studentID),

Il tipo di dati di classLeader è VARCHAR(255). Deve corrispondere al tipo di dati della colonna di riferimento... student.studentID . E, naturalmente, lo student la tabella deve esistere e lo studentID deve esistere la colonna e studentID la colonna dovrebbe essere la CHIAVE PRIMARIA della tabella studente (anche se credo che MySQL consenta a questa di essere una CHIAVE UNICA, piuttosto che una CHIAVE PRIMARIA, o anche solo di avere un indice su di essa.)

In ogni caso, quello che manca qui è l'output di SHOW CREATE TABLE student;

C'è una mancata corrispondenza del tipo di dati.

Il classLeader VARCHAR(255) la colonna non può essere un riferimento di chiave esterna a studentID INT .

I tipi di dati delle due colonne devono corrispondere.