El problema más probable es esta línea:
FOREIGN KEY (classLeader) REFERENCES student(studentID),
El tipo de datos de classLeader es VARCHAR(255). Tiene que coincidir con el tipo de datos de la columna referenciada... student.studentID
. Y por supuesto, el student
la tabla tiene que existir, y el studentID
la columna tiene que existir, y el studentID
la columna debe ser la CLAVE PRINCIPAL de la tabla de estudiantes (aunque creo que MySQL permite que sea una CLAVE ÚNICA, en lugar de una CLAVE PRINCIPAL, o incluso que solo tenga un índice).
En cualquier caso, lo que falta aquí es el resultado de SHOW CREATE TABLE student;
Hay una discrepancia en el tipo de datos.
El classLeader VARCHAR(255)
la columna no puede ser una referencia de clave externa a studentID INT
.
Los tipos de datos de las dos columnas deben coincidir.