我不明白爲什麼我的表中的關係被顛倒了?以及如何將外鍵設置爲自動增量?所以當我在父表中插入數據時,我的子表中的主鍵也會增加。一個是SQL Server管理工作室裏的很多關係
?它爲什麼我的圖中的關係相反,看看這裏
它應該是倒過來,我該怎麼做?
我不明白爲什麼我的表中的關係被顛倒了?以及如何將外鍵設置爲自動增量?所以當我在父表中插入數據時,我的子表中的主鍵也會增加。一個是SQL Server管理工作室裏的很多關係
?它爲什麼我的圖中的關係相反,看看這裏
它應該是倒過來,我該怎麼做?
我誠實地不會試圖讓用戶界面彎曲到您的要求。相反,讓我們學習一些DDL!
CREATE TABLE dbo.People
(
PeopleID INT IDENTITY(1,1) PRIMARY KEY,
FirstName NVARCHAR(32)
--, LastName, etc.
);
CREATE TABLE dbo.Address
(
AddressID INT IDENTITY(1,1) PRIMARY KEY,
PeopleID INT NOT NULL FOREIGN KEY
REFERENCES dbo.People(PeopleID),
Address VARCHAR(255)
--, other columns
);
數據總體的示例。假設你想添加一個名叫Bob的新人,他有兩個地址。
DECLARE @PeopleID INT;
INSERT dbo.People(FirstName) SELECT N'Bob';
SELECT @PeopleID = SCOPE_IDENTITY();
INSERT dbo.Address(PeopleID, Address) SELECT @PeopleID, '255 Hemlock Lane';
INSERT dbo.Address(PeopleID, Address) SELECT @PeopleID, '345 Hutcheson Ave';
。我看到,順便說一句,只是一個問題,如果我在父表中添加了一個數據在我的主數據庫中,其他表中的外鍵是否會更新? – KyelJmD 2012-02-13 15:31:36
不,你需要自己做,外鍵表不會自動填充。如果你通過運行'INSERT dbo.People'添加了一個新的人,那麼SQL Server是否應該猜測應該放在地址表中的其他數據? – 2012-02-13 15:37:32
例如,我會如何處理這個問題。如果我在可能的父表中添加了一個新數據,那麼與其相關的另一個表中的外鍵將獲得與引用它的鍵相同的值。或鏈接到它。我是否清楚自己? – KyelJmD 2012-02-13 15:56:06
不向我求助。 People
看起來像它有一個外鍵引用Address
的主鍵。在這種情況下,不應該是這樣的。這就是數據庫圖工具描繪外鍵關係的方式。
您不會將您的外鍵設置爲自動增量。外鍵是對另一個表中的主鍵的引用。換句話說,它將匹配父表中的主鍵值。
你與這個問題有關嗎? http://stackoverflow.com/q/9260543/27535 – gbn 2012-02-13 14:22:54