Синтаксическая ошибка при создании таблицы с ограничениями

Я создал 4 другие таблицы, но не могу их запустить. Я уверен, что это связано с:

AgentID varchar2(4), CONSTRAINT FOREIGN KEY Riders_AgentId_FK REFERENCES Agents(AgentID)

Но я не знаю, что изменить....

CREATE TABLE Riders(
RiderID varchar2(4) CONSTRAINT Riders_RiderID_PK PRIMARY KEY ,
FirstName VARCHAR(255) CONSTRAINT Riders_FirstName_NN NOT NULL,
LastName VARCHAR(255) CONSTRAINT Riders_LastName_NN NOT NULL,
Street VARCHAR(255),
City VARCHAR(255),
State VARCHAR(255),
Zip varchar(255),
Phone varchar(255),
DateJoined DATE,
AgentID varchar2(4), CONSTRAINT FOREIGN KEY Riders_AgentId_FK REFERENCES Agents(AgentID),
TeamID varchar2(4)
);

1 ответ

Взгляните на эту строку (имя ограничения дается после ключевого слова CONSTRAINT:

AgentID varchar2(4) CONSTRAINT Riders_AgentId_FK FOREIGN KEY(AgentID) REFERENCES Agents(AgentID),

в:

CREATE TABLE Riders(
RiderID varchar2(4) CONSTRAINT Riders_RiderID_PK PRIMARY KEY ,
FirstName VARCHAR(255) CONSTRAINT Riders_FirstName_NN NOT NULL,
LastName VARCHAR(255) CONSTRAINT Riders_LastName_NN NOT NULL,
Street VARCHAR(255),
City VARCHAR(255),
State VARCHAR(255),
Zip varchar(255),
Phone varchar(255),
DateJoined DATE,
AgentID varchar2(4) CONSTRAINT Riders_AgentId_FK FOREIGN KEY(AgentID) REFERENCES Agents(AgentID),
TeamID varchar2(4)
);

Пара других заметок:

  • поля "id", вероятно, должны быть NUMBER (RiderID, AgentID, AgentID вAgents Таблица)
  • varchar поля наверное должны быть varchar2
Другие вопросы по тегам