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.