MySQL Проблемы с синтаксисом - внешние ключи - PullRequest
0 голосов
/ 03 мая 2020

Эй, просто интересно, может ли кто-нибудь потенциально помочь мне разобраться, как я могу исправить мою MySQL работу.

Проблема, похоже, в 3-й таблице (tblRoster), так как все другие таблицы выполняются просто отлично сами по себе, я не уверен, если это проблема с форматированием внешнего ключа или что-то еще, извините, я все еще довольно плохо знаком с этим

CREATE TABLE tblStaff(
    StaffID INT(10) NOT NULL,
    FirstName VARCHAR(20),
    LastName VARCHAR(25),
    TeamLeader BOOLEAN,
    HourlyRate DECIMAL(2,2),
    PRIMARY KEY(StaffID)
);


CREATE TABLE tblEvent(
    EventID INT(10) NOT NULL,
    EDate DATE,
    ETime TIME,
    PRIMARY KEY(EventID)
);

CREATE TABLE tblRoster(
    RosterID INT(10) NOT NULL,
    Station VARCHAR(15),
    FOREIGN KEY(tblStaff.StaffID),
    FOREIGN KEY(tblEvent.EventID),
    PRIMARY KEY(RosterID)
);


Ответы [ 2 ]

1 голос
/ 03 мая 2020

Для объявлений внешнего ключа требуется условие references. И столбцы должны быть объявлены:

CREATE TABLE tblRoster (
    RosterID INT(10) NOT NULL,
    Station VARCHAR(15),
    StaffID INT,
    EventID INT,
    FOREIGN KEY (StaffID) REFERENCES tblStaff(StaffID),
    FOREIGN KEY (EventID) REFERENCES tblEvent(EventID),
    PRIMARY KEY(RosterID)
);
0 голосов
/ 03 мая 2020


Привет, Алекс,

В операторе создания вы также указали дефиле staffid и eventid, когда ссылаетесь на внешний ключ. И петух должен быть вашим первичным ключом

CREATE TABLE tblRoster(
RosterID INT(10) NOT NULL,
Station VARCHAR(15),
StaffID INT,
EventID INT,
FOREIGN KEY (StaffID) REFERENCES tblStaff(StaffID),
FOREIGN KEY (EventID) REFERENCES tblEvent(EventID),
PRIMARY KEY(RosterID) 
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...