Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Código de erro:1215. Não é possível adicionar restrição de chave estrangeira (chaves estrangeiras)


O problema mais provável é esta linha:
FOREIGN KEY (classLeader) REFERENCES student(studentID),

O tipo de dados de classLeader é VARCHAR(255). Isso precisa corresponder ao tipo de dados da coluna referenciada... student.studentID . E, claro, o student tabela tem que existir, e o studentID coluna deve existir, e o studentID column deve ser a PRIMARY KEY da tabela do aluno (embora eu acredite que o MySQL permita que esta seja uma UNIQUE KEY, em vez de uma PRIMARY KEY, ou até mesmo ter apenas um índice nela.)

De qualquer forma, o que está faltando aqui é a saída de SHOW CREATE TABLE student;

Há uma incompatibilidade de tipo de dados.

O classLeader VARCHAR(255) coluna não pode ser uma referência de chave estrangeira para studentID INT .

Os tipos de dados das duas colunas devem corresponder.