diskremme dis
Ученик
(107)
1 год назад
Ошибка в данном коде SQL заключается в том, что в определении внешнего ключа отсутствует указание имени столбца, на который он ссылается в таблице "Факультет". Вместо этого указано только название столбца "аббревиатура". Ниже приведен исправленный код:
CREATE TABLE Кафедра
(
шифр TEXT(8) NOT NULL,
название TEXT(50) NOT NULL,
фак TEXT(4),
CONSTRAINT ПК_Кафедра PRIMARY KEY (шифр),
CONSTRAINT АК_Кафедра UNIQUE (название),
CONSTRAINT Кафедра_Факультет FOREIGN KEY (фак)
REFERENCES Факультет (аббревиатура)
ON UPDATE CASCADE
ON DELETE SET NULL
);
Здесь после названия таблицы "Факультет" указано имя столбца "аббревиатура", на который ссылается внешний ключ.
(шифр TEXT(8) NOT NULL, название TEXT(50) NOT NULL, фак TEXT(4),
CONSTRAINT ПК_Кафедра PRIMARY KEY (шифр),
CONSTRAINT АК_Кафедра UNIQUE (название),
CONSTRAINT Кафедра_Факультет FOREIGN KEY (фак)
REFERENCES Факультет (аббревиатура)
ON UPDATE CASCADE
ON DELETE SET NULL);