我在SQL中頗爲新穎,想要尋求幫助,因爲我正在努力解決外鍵問題。我一直在搜索和谷歌搜索幾天沒有結果。SQL外鍵返回NULL
我的問題是我創建了2個表,其中一個是主鍵,另一個是主鍵和外鍵。你可以看到下面的示例代碼:
CREATE TABLE CarList
(
C_Id int IDENTITY (1,1) PRIMARY KEY,
Car_Model nvarchar(255),
)
比我插入數據到這個表如下圖所示:
INSERT INTO CarList (Car_Model)
VALUES ('AUDI'), ('BMW'), ('PORSCHE')
比我創建與外鍵的第二個表,如下圖所示:
CREATE TABLE Series
(
S_Id int IDENTITY (1,1) PRIMARY KEY,
Car_Series nvarchar(255),
Car_Id int FOREIGN KEY REFERENCES CarList(C_Id)
)
而作爲最後一步,我插入第二個表格的數據:
INSERT INTO Series(Car_Series)
VALUES ('911c'), ('330d'), ('80TDI')
這裏我的問題實際上來了。一旦我全部設置並用外鍵調用表格,應該具有外鍵值的列顯示爲NULL
。我已經完成了SQL Server Management Studio中兩個表之間的關係,但結果仍然相同。
然後,我試圖用連接映射兩個表,並仍然相同。我在互聯網上閱讀的所有內容基本上都沒有說明值應該如何顯示在外鍵列中,或者至少我沒有明白這一點。我希望第一臺桌上汽車模型對應第二張桌子上的ID號。所以如果我想從AUDI的第一個表中調用ID 1來獲得第二個表80TDI系列的ID。
你能幫忙嗎?
謝謝你馬克!現在很清楚。唯一出現在我腦海的是 - 如果我有非常大量的數據插入到第二個表中,該怎麼辦?不會添加相應的數字需要太多時間?有沒有可能爲此自動選擇,或者我必須採用這種方法? – TheShadow
不,它不應該明顯增加開銷,只要它在相同的插入語句中。數據量也很低,因爲它只是一個整數。 –
再次感謝你馬克!現在很清楚:) – TheShadow