【问题标题】:Bridge Table Error in SQL FiddleSQL Fiddle 中的桥接表错误
【发布时间】:2014-07-04 17:49:01
【问题描述】:

我在 Sql Fiddle 中收到以下错误:

Schema Creation Failed: Incorrect syntax near the keyword 'FOREIGN'.:   

以下是我的CREATE TABLE 脚本:

CREATE TABLE Employees(
      UserName_ID varchar(255) NOT NULL,
      Password    varchar(255) NOT NULL,
      F_Name      varchar(255) NOT NULL,
      L_Name      varchar(255) NOT NULL,
      Email       varchar(255) NOT NULL,
      CONSTRAINT Employees_PK  PRIMARY KEY(UserName_ID));

    CREATE TABLE Training_Sessions (
        Session_ID          int IDENTITY (1,1) NOT NULL ,
        Session_Name        varchar(255)       NOT NULL,
        Session_Description varchar(255)       NOT NULL,
        Session_Date        varchar(255)       NOT NULL,
        Organizer           varchar(255)       NOT NULL,
        CONSTRAINT Training_Sessions_PK        PRIMARY KEY(Session_ID));

    CREATE TABLE Enrolled
    (
        UserName_ID varchar(255) NOT NULL,
        Session_ID  int          NOT NULL,
        CONSTRAINT PK_Enrolled   PRIMARY KEY
        (
            UserName_ID,
            Session_ID
        )
        FOREIGN KEY (UserName_ID) REFERENCES Employees(UserName_ID),
        FOREIGN KEY (Session_ID)  REFERENCES Training_Sessions(Session_ID);
    )

我正在处理一个尚未在服务器上设置数据库的项目,并试图让一些脚本不碍事。根据http://megocode3.wordpress.com/2008/01/04/understanding-a-sql-junction-table/,我的语法对于 SQL Server 是正确的

【问题讨论】:

  • 你把分号放错了地方,也忘了在约束后面加逗号(link to sqlfiddle)。投票结束是一个错字。

标签: sql sql-server bridge sqlfiddle


【解决方案1】:

试试:

CREATE TABLE Employees(
  UserName_ID varchar(255) NOT NULL,
  Password    varchar(255) NOT NULL,
  F_Name      varchar(255) NOT NULL,
  L_Name      varchar(255) NOT NULL,
  Email       varchar(255) NOT NULL,
  CONSTRAINT Employees_PK  PRIMARY KEY(UserName_ID));

CREATE TABLE Training_Sessions (
    Session_ID          int IDENTITY (1,1) NOT NULL ,
    Session_Name        varchar(255)       NOT NULL,
    Session_Description varchar(255)       NOT NULL,
    Session_Date        varchar(255)       NOT NULL,
    Organizer           varchar(255)       NOT NULL,
    CONSTRAINT Training_Sessions_PK        PRIMARY KEY(Session_ID));

CREATE TABLE Enrolled
(
    UserName_ID varchar(255) NOT NULL,
    Session_ID  int          NOT NULL,
    CONSTRAINT PK_Enrolled   PRIMARY KEY
    (
        UserName_ID,
        Session_ID
    ),
    CONSTRAINT user_fk FOREIGN KEY (UserName_ID) REFERENCES Employees(UserName_ID),
    CONSTRAINT sess_fk FOREIGN KEY (Session_ID)  REFERENCES Training_Sessions(Session_ID)
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多