【问题标题】:Syntax error creating table with constraints使用约束创建表的语法错误
【发布时间】:2014-12-16 01:20:05
【问题描述】:

我创建了 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)
);

【问题讨论】:

    标签: sql oracle ddl


    【解决方案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”字段可能应该是NUMBERRiderIDAgentIDAgentID Agents表)
    • varchar 字段可能应该是varchar2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-07
      相关资源
      最近更新 更多