【发布时间】:2012-01-28 16:33:53
【问题描述】:
我已经搜索了答案,但没有找到。我有 2 张桌子。两者都有一个自动生成的PK。表 2 中的 PK 是表 1 中的 FK。由于它们都是自动生成的,我假设表 1 中的 FK 将填充从表 2 自动生成的值,但它不起作用。表 1 中的 FK 最终为空。这是我创建表 1 的 SQL 代码:
CREATE TABLE Employee_tbl (
EmployeeID int PRIMARY KEY IDENTITY,
LastName varchar(20) not null,
FirstName varchar(20) not null,
Age varchar(3) not null,
JobID int FOREIGN KEY REFERENCES JobTitle_tbl(JobID),
)
这是表2:
create table JobTitle_tbl(
JobID int PRIMARY KEY IDENTITY,
EEO1Classification varchar(50) not null,
Exempt_nonexempt_status varchar(20) not null,
)
我还有一些插入语句:
INSERT INTO Employee_tbl
(LastName, FirstName, Age)
Values
('Smith', 'John', '50'),
...
和:
INSERT into JobTitle_tbl (EEO1Classification, Job_title, )
VALUES ('Office/Clerical', 'Accounting Clerk', ),
为什么查询表1时FK值显示为null?
【问题讨论】:
-
您能否减少问题中的措辞? FK 也不是自动生成的。您必须将其显式插入子表中
标签: sql sql-server-2008 foreign-keys