2016-05-11 12 views
1

Ich versuche, 2 Tabellen mit Verweis zu erstellen. Aber ich kann meinen Fehler nicht finden. Dies ist Skript für Derby:Einschränkung ist ungültig: Es gibt keine eindeutige oder primäre Schlüsseleinschränkung für die Tabelle, die der Anzahl und den Typen der Spalten im Fremdschlüssel entspricht

CREATE TABLE AUDITORIUM (
    audId BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), 
    nameAud   VARCHAR(50), 
    numberOfSeats INTEGER, 
    vipSeats   VARCHAR(100) 
); 

CREATE TABLE EVENT (
    eventId BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), 
    name  VARCHAR(50), 
    basePrice INTEGER, 
    rating  VARCHAR(50), 
    audId  BIGINT, 
FOREIGN KEY (audId) REFERENCES AUDITORIUM (audId) 
); 

Als Folge ich diese Störung erhalte: Constraint ‚SQL160511200811240‘ ist ungültig: Es gibt keine eindeutige oder Primärschlüsselbedingung auf dem Tisch ist ‚‚SA‘‚AUDITORIUM‘.‘ Dies entspricht der Anzahl und den Typen der Spalten im Fremdschlüssel.

Antwort

2

Der Fehler besagt, dass die Spalte audId in der Tabelle AUDITORIUM als PRIMARY KEY (oder UNIQUE) deklariert werden muss. Fremdschlüssel können nur auf eindeutige oder Primärschlüssel in einer anderen Tabelle verweisen.