2017-05-02 10 views
0

これはかなり単純な問題のようですが、なぜこのようなことが起こっているのか理解できませんでした。単純な外部キーのために外部キー制約が正しく形成されていません(シンプル)

CREATE TABLE Instrument (
    name VARCHAR(50), 
    manufacturer VARCHAR(50), 
    CONSTRAINT Instrument_PK PRIMARY KEY (name), 
    CONSTRAINT Instrument_FK1 FOREIGN KEY (manufacturer) REFERENCES Companies(name) 
); 

CREATE TABLE Companies (
    name VARCHAR(50), 
    CONSTRAINT Companies_PK PRIMARY KEY (name), 
); 

戻り値のエラー:外部キー制約が間違ってInstrumentその後、Companiesテーブルを作成

+0

まず、Companiesテーブルを作成してから、それを外部キーで参照する必要があります。 –

+2

このようなpostgresエラーを聞いたことはありません –

答えて

0

私の問題は、両方のテーブルには、1がまだ存在していて行くテーブルを参照することになるためお互いとどんなにを参照したということでした。

0

まず時間が形成されています。また、間違ったカンマがあります:CONSTRAINT Companies_PK PRIMARY KEY (name),

これを試してみてください:

CREATE TABLE Companies (
    name VARCHAR(50), 
    CONSTRAINT Companies_PK PRIMARY KEY (name) 
); 

CREATE TABLE Instrument (
    name VARCHAR(50), 
    manufacturer VARCHAR(50), 
    CONSTRAINT Instrument_PK PRIMARY KEY (name), 
    CONSTRAINT Instrument_FK1 FOREIGN KEY (manufacturer) REFERENCES Companies(name) 
); 
関連する問題