Вопрос:
Поэтому я много часов занимаюсь этим исследованием и не испытываю удачи в поиске чего-то подходящего для того, что я пытаюсь сделать.
В настоящее время у меня возникают две проблемы: создание таблицы с несколькими внешними ключами, ссылающихся на один и тот же первичный ключ и разделение этих атрибутов на несколько столбцов.
В конце концов, мне хотелось бы, чтобы моя таблица выглядела примерно так, где мой O-Director_ID является первичным ключом в одном столбце, который коррелирует со всем другим идентификатором (в данном случае FAD_ID, SAD_ID и SUD_ID) в другом столбце, которые все внешние ключи, соответствующие первичному ключу из другой таблицы (Member_ID от crew_member, который уже существует).
Вот то, что я сейчас пытаюсь сделать, просто для создания нескольких внешних ключей (я даже не знаю, как сделать создание второго столбца):
mysql> create table Other_Directing ( -> O_Director_ID int (4) not null auto_increment, -> FAD_ID int (5) not null, -> SAD_ID int (5) not null, -> SUD_ID int <5> not null, -> primary key (O_Director_ID), -> foreign key (FAD_ID) references crew_member(Member_ID), -> foreign key (SAD_ID) references crew_member(Member_ID), -> foreign key (SUD_ID) references crew_member(Member_ID) -> );
Однако даже это не работает, я получаю это сообщение об ошибке:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘<5> not null, primary key (O_Director_ID), foreign key (FAD_ID) references crew_’ at line 5
Спасибо, и я надеюсь, что это имеет смысл.
С Уважением,
Майкл
Лучший ответ:
измените SUD_ID int <5> not null, на это: SUD_ID int (5) not null,
Ответ №1
Ваш проект действительно требует нестандартных размеров в ваших столбцах int? Если это так, у вас есть опечатка… один из ваших размеров находится в <> вместо(): -> SUD_ID int <5> not null должно быть -> SUD_ID int (5) not null
Если вы уверены, что хотите размеры из-за ограничений памяти:
create table Other_Directing ( O_Director_ID int not null auto_increment, FAD_ID int not null, SAD_ID int not null, SUD_ID int not null, primary key (O_Director_ID), foreign key (FAD_ID) references crew_member(Member_ID), foreign key (SAD_ID) references crew_member(Member_ID), foreign key (SUD_ID) references crew_member(Member_ID) );