2016-07-26 4 views
0

私は2つのテーブルを持ち、そのうちの1つに2つの外部キーがあり、別のテーブルに2つの複合外部キーがあります。クエリを実行しようとすると、エラーとなり、制約またはインデックスを作成できませんでした。だからここに2つのテーブルがあります。SQL Serverのテーブルに2つの外部キーを追加する方法はありますか。

私は完全に間違っていることを知っています。私はコーディングに新しいことを謝ります。

create table Booking 
(
    BookingID char(4) primary key, 
    dateBooked datetime not null, 
    creditCard char(16) null, 
    expiryDate datetime not null, 
    CVC char (3) not null, 
    confirmationID char(4) not null, 
    ticketType varchar(20) 
     foreign key references ticketType(ticketType), 
    NRIC char(9) 
     foreign key references Patron(NRIC) 
) 

create table BookingSeat 
(
    seatNo char(2) not null, 
    rowNo char(2) not null, 
    date datetime not null, 
    startTime time not null, 
    rowNo char(2) not null, 
    seatNo char(2) not null, 

    foreign key (date, startTime) 
     references hallSchedule(date, startTime), 
    foreign key (rowNo, seatNo) 
     references Seat(rowNo, seatNo) 
) 

答えて

2

外部キー構文は次のとおりです。表予約については

FOREIGN KEY (addid) REFERENCES Table1_Addr(addid), 
FOREIGN KEY (id) REFERENCES Table1(id) 

CREATE TABLE BOOKING 
(BookingID char(4) primary key 
, dateBooked datetime not null 
, creditCard char(16) null 
, expiryDate datetime not null 
, CVC char (3) not null 
, confirmationID char(4) not null 
, ticketType varchar(20) 
, NRIC char(9)  
,FOREIGN KEY (ticketType) REFERENCES ticketType(ticketType) 
,FOREIGN KEY (NRIC) REFERENCES Patron(NRIC)) 

あなたはこのテーブルの主キーを持っていないBookingSeatの場合:ここで私はNRICは、外部キーとして設定する前に、テーブルの上にあるべき気づいた何ですか?私はseatNoを二度定義したことに気づいた。

CREATE TABLE BookingSeat 
(seatNo char(2) not null 
, rowNo char(2) not null 
, date datetime not null 
, startTime time not null 
, rowNo char(2) not null 
, FOREIGN KEY (date) REFERENCES hallSchedule(date) 
, FOREIGN KEY (startTime) REFERENCES hallSchedule(startTime) 
, FOREIGN KEY (rowNo) REFERENCES Seat(rowNo) 
, FOREIGN KEY (seatNo) REFERENCES Seat(seatNo)) 

参照のため、これらのリンクを参照してください。 Can a table have two foreign keys? Multiple foreign keys?

+0

は、それは多くのことができます、ありがとうございます。ついに私のクエリを実行できるようになりました。 –

関連する問題