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?