2016-11-06 123 views
0

我想添加到一個表中的主鍵引用另一個表的主鍵。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) 

我得到的錯誤附近約束的語法是錯誤的,但我不知道是什麼改變

因爲表修改表的不可改變秩序是唯一的選擇。從一個表引用另一個不工作原因我已經從該表引用了另一個表。

我需要兩個單對單的關係從一個表到另一個

+3

通常,兩個主鍵不會互相引用。爲什麼不把所有的列放在一個表中? –

回答

3

如果你想添加一個FK約束,只要使用此代碼:

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

你並不需要修改列或表 - 只需添加約束

+0

我需要兩個一對一的關係,所以外鍵不會工作,我想:(所以我需要一個主鍵約束 – noclue123

+2

@ noclue123:你**已經有**主鍵定義......當一個錶鏈接到另一個表時,這是**外鍵**約束 –