2016-11-06 3 views
0

別のテーブルの主キーへの参照を1つのテーブルの主キーに追加したいと考えています。ALTER COLUMNコマンドがSQL Serverで動作しない

私のコード:

CREATE TABLE[payment] 
(ID int Primary key) 

CREATE TABLE [tab] 
(ID int Primary key references tab2(ID)) 

Alter Table payment 
alter column ID 
ADD constraint fk_payment 
references tab(ID) 

私は、制約の近くに構文が間違っているというエラーが出るが、私はので、テーブルのALTER TABLEの変更ではない程度の

を変更するかわかりません唯一の選択肢です。あるテーブルから別のテーブルへの参照が、そのテーブルから別のテーブルへの参照を既に持っているために動作しません。

ALTER TABLE dbo.payment 
    ADD CONSTRAINT fk_payment 
     FOREIGN KEY(ID) REFERENCES dbo.tab(ID) 

あなたがする必要はありません:あなたはFK制約を追加したい場合は

は、私はこのコードを使用し、一つのテーブルから別の

+3

通常、2つの主キーはお互いを参照しません。なぜ、すべての列を1つのテーブルに入れるだけではないのですか? –

答えて

3

には、2つの一対一の-関係を必要とします列や表を変更する - 制約を追加するだけです

+0

私は2つの1対1のリレーションが必要なので、外来キーはうまくいきません:(私はプライマリキーの制約が必要です – noclue123

+2

@ noclue123:** **プライマリキーが既に定義されています......あるテーブルが別のテーブルにリンクすると、それは**外部キー**の制約です –

関連する問題