0

我正在尝试使用约束更新我的表,以允许我的主键转移到我的数据库中的其他表......它不会那样发生。这是我的代码

CREATE TABLE APPLICANT (
            Name VARCHAR(40) NOT NULL,
            Email VARCHAR(40) NOT NULL,
            CompanyName VARCHAR(50) NOT NULL,
            Phone VARCHAR(15) NOT NULL,
            Fax VARCHAR(15) NOT NULL,
            GovernmentEmployee BOOLEAN NOT NULL,
            Academic BOOLEAN NOT NULL,
            InternationalAttendee BOOLEAN NOT NULL,
            Speaker BOOLEAN NOT NULL,
            Presenter BOOLEAN NOT NULL,
            FirstTimeAttendee BOOLEAN NOT NULL,
            PRIMARY KEY (Name, Email)
);


CREATE TABLE TIME (
            TimeAnswer VARCHAR(30) NOT NULL,
            Name VARCHAR(40) NOT NULL,
            Email VARCHAR(40) NOT NULL,
            PRIMARY KEY (TimeAnswer, Name, Email)
);


CREATE TABLE DAY (
            DayAnswer VARCHAR(30) NOT NULL,
            Name VARCHAR(40) NOT NULL,
            Email VARCHAR(40) NOT NULL,
            PRIMARY KEY (DayAnswer, Name, Email)
 );


 CREATE TABLE LOCATION (
            Address VARCHAR(50) NOT NULL,
            ZIP NUMERIC(5) NOT NULL,
            LocationName VARCHAR(40) NOT NULL,
            LocationEmail VARCHAR(40) NOT NULL,
            State VARCHAR(2) NOT NULL,
            Country VARCHAR(30) NOT NULL,
            City VARCHAR(30) NOT NULL,
            PRIMARY KEY (Address, ZIP)
);


CREATE TABLE WORKSHOP_SESSIONS (
            Email VARCHAR(40) NOT NULL,
            Name VARCHAR(40) NOT NULL,
            WorkshopAnswer VARCHAR(15) NOT NULL,
            PRIMARY KEY (Email, Name)
 );


 CREATE TABLE WORKSHOP_DAY_TIME (
            Email VARCHAR(40) NOT NULL,
            Name VARCHAR(40) NOT NULL,
            DayAnswer VARCHAR(30) NOT NULL,
            TimeAnswer VARCHAR(30) NOT NULL,
            PRIMARY KEY (Email, Name, DayAnswer, TimeAnswer)
 );


 ALTER TABLE WORKSHOP_SESSIONS ADD CONSTRAINT information_workshop_sessions_fk
 FOREIGN KEY (Email, Name)
 REFERENCES APPLICANT (Email, Name)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

 ALTER TABLE LOCATION ADD CONSTRAINT applicant_location_fk
 FOREIGN KEY (LocationEmail, LocationName)
 REFERENCES APPLICANT (Email, Name)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

 ALTER TABLE DAY ADD CONSTRAINT applicant_day_fk
 FOREIGN KEY (Email, Name)
 REFERENCES APPLICANT (Email, Name)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

 ALTER TABLE TIME ADD CONSTRAINT applicant_time_fk
 FOREIGN KEY (Name, Email)
 REFERENCES APPLICANT (Name, Email)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

 ALTER TABLE WORKSHOP_DAY_TIME ADD CONSTRAINT time_workshop_day_time_fk
 FOREIGN KEY (TimeAnswer)
 REFERENCES TIME (TimeAnswer)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

 ALTER TABLE WORKSHOP_DAY_TIME ADD CONSTRAINT day_workshop_day_time_fk
 FOREIGN KEY (DayAnswer)
 REFERENCES DAY (DayAnswer)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

  ALTER TABLE WORKSHOP_DAY_TIME ADD CONSTRAINT workshop_sessions_workshop_day_time_fk
  FOREIGN KEY (Email, Name)
  REFERENCES WORKSHOP_SESSIONS (Email, Name)
  ON DELETE NO ACTION
  ON UPDATE NO ACTION;
4

1 回答 1

1

你所有的桌子都很好用。

演示

于 2013-04-24T15:49:17.900 回答