Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

В чем ошибка?

Босоногий Гэн Ученик (1), на голосовании 1 год назад
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);
Голосование за лучший ответ
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
);

Здесь после названия таблицы "Факультет" указано имя столбца "аббревиатура", на который ссылается внешний ключ.
Босоногий ГэнУченик (1) 1 год назад
не понял, такой же код ведь
Босоногий Гэн, Ты ожидаешь чего-то разумного от тупого копипаста ответа нейросети?
Похожие вопросы