2016-05-28 21 views
0

私は、次のコードを持っている:SQL Serverの外部キー制約が参照する無効な表

CREATE TABLE _CLIENT 
(
    client_id int , 
    client_name varchar(50), 
    type varchar(50), 
    constraint _CLIENT_pk PRIMARY KEY(client_id), 
    constraint _CLIENT_ch CHECK (client_id>0), 
    typee_id INT NOT NULL REFERENCES CLIENT_TYPE(typee_id) 
) 

CREATE TABLE CLIENT_TYPE 
(
    typee_id int NOT NULL, 
    name_type varchar(50), 
    constraint CLIENT_TYPE_pk PRIMARY KEY(typee_id) 
) 

外部キーというエラーがスローされます。

Foreign key 'FK__Number__Name__1CF15040' references invalid table 'Users.Name' 

はここに間違って何を?

+0

そのコードのUsers.Nameへの参照はありません。これは、他のコードがエラーを引き起こしていることを示唆しています。投稿されたコードを単独で実行しようとしましたか? –

答えて

0

私はあなたが取得しているものを正確なエラーメッセージを知らないが、あなたは現在のスクリプトでエラーが発生していると私はあなたがこのエラーを意味すると思う:

Foreign key 'FK___CLIENT__typee_i__55BFB948' references invalid table 'CLIENT_TYPE'.

あなたが最初CLIENT_TYPEテーブルを作成する必要があり、そうするスクリプト

CREATE TABLE CLIENT_TYPE 
(
    typee_id INT NOT NULL , 
    name_type VARCHAR(50) , 
    CONSTRAINT CLIENT_TYPE_pk PRIMARY KEY (typee_id) 
) 

CREATE TABLE _CLIENT 
(
    client_id INT , 
    client_name VARCHAR(50) , 
    type VARCHAR(50) , 
    CONSTRAINT _CLIENT_pk PRIMARY KEY (client_id) , 
    CONSTRAINT _CLIENT_ch CHECK (client_id > 0) , 
    typee_id INT NOT NULL 
       REFERENCES CLIENT_TYPE (typee_id) 
) 

一般的なルールとして、まずベーステーブルを作成し、次にそれに依存するテーブルを作成する必要があります。

+0

ありがとうございます –