【发布时间】:2016-11-25 17:18:42
【问题描述】:
我是 SQL 的新手,在遇到外键问题时想寻求帮助。我已经搜索和谷歌搜索了几天没有结果。
我的问题是我正在创建 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 调用它们的第二个表相对应。因此,如果我想从第一个表中调用 ID 1,即 AUDI,以在第二个表中获取 80TDI 系列的 ID。
你能帮忙吗?
【问题讨论】: