#database #oracle #sqlplus
#База данных #Oracle #sqlplus
Вопрос:
Итак, я пытаюсь создать таблицу с несколькими внешними ключами, однако она продолжает указывать отсутствующий или недопустимый параметр. Я успешно создал все остальные таблицы, на которые ссылаются ключи, без проблем. Странно то, что я обнаружил, что таблица создается, если я удаляю любой внешний ключ, но как только у меня есть два внешних ключа, это выдает мне ошибку выше. Любая помощь приветствуется! 🙂
create table Class(
Class# int(5),
Class_Size int(30),
Module# char(5),
Student# char(4),
Constraint Class_PK primary key(Class#),
Constraint Class_Module_FK foreign key(Module#) references Modules(Module#) on delete cascade ),
Constraint Class_Student_FK foreign key(Student#) references Students(Student#) on delete cascade );
Комментарии:
1. У вас нет столбца
Student#
в таблицеClass
(по уважительной причине), поэтому вы не можете использовать его в определении FK onClass
.
Ответ №1:
Похоже, у вас есть лишнее )
в конце предпоследней строки.
Это должно сработать
create table Class(
Class# int(5),
Class_Size int(30),
Module# char(5),
Student# char(4),
Constraint Class_PK primary key(Class#),
Constraint Class_Module_FK foreign key(Module#) references Modules(Module#) on delete cascade,
Constraint Class_Student_FK foreign key(Student#) references Students(Student#) on delete cascade );
Комментарии:
1. Большое спасибо! это сводило меня с ума