Kod błędu: 1215. Nie można dodać ograniczenia klucza obcego (klucze obce)

CREATE DATABASE my_db;

CREATE TABLE class (
  classID int NOT NULL AUTO_INCREMENT,
  nameClass varchar(255),
  classLeader varchar(255),
  FOREIGN KEY (classLeader) REFERENCES student(studentID),
  PRIMARY KEY (classID));

CREATE TABLE student (
  studentID int NOT NULL AUTO_INCREMENT,
  lastName varchar(255),
  firstName varchar(255),
  classID int,
  FOREIGN KEY (classID) REFERENCES class(classID),
  PRIMARY KEY (studentID));

Próbuję zapewnić spójność danych między tabelami, używając klucza obcego, aby DBMS mógł sprawdzić błędy; jednak wydaje się, że nie możemy tego zrobić z jakiegoś powodu. Jaki jest błąd i czy istnieje alternatywa? Ponadto, gdy wypełniam tabelę z kluczem obcym, nie mogę wypełnić pola zarezerwowanego dla kluczy obcych, prawda? Czy klucz obcy jest w ogóle uważany za klucz?

questionAnswers(6)

yourAnswerToTheQuestion