0
我在我的智慧結束在這裏,所以任何幫助,將不勝感激。這裏有三個查詢我運行:SQL Server Express 2012外鍵不會填充到表
CREATE TABLE Contact
(ContactID VARCHAR(10) NOT NULL,
ContactCompanyName VARCHAR(80),
ContactFirstName VARCHAR(30),
ContactLastName VARCHAR(30),
EmployeeID VARCHAR(15),
CONSTRAINT Contact_PK PRIMARY KEY (ContactID));
GO
CREATE TABLE CompanyRepresentative
(EmployeeID VARCHAR(15) NOT NULL,
RepFirstName VARCHAR(30),
RepLastName VARCHAR(30),
CONSTRAINT CompanyRepresentative_PK PRIMARY KEY (EmployeeID));
GO
其次:
ALTER TABLE Contact
ADD CONSTRAINT fk_EmployeeID1
FOREIGN KEY(EmployeeID)REFERENCES CompanyRepresentative(EmployeeID);
GO
最後:
INSERT dbo.Contact (ContactID, ContactCompanyName, ContactFirstName,
ContactLastName)
VALUES
('PC7432', 'Krueger Bakeries', 'Brian', 'Jones'),
('PC5317', 'Advanced Data Storage', 'Mark', 'Pulley'),
('PC2931', 'M&D Graphics and Design', 'Mike', 'Dorris'),
('PC1753', 'Apex Digital Solutions', 'Janice', 'Becker'),
('PC8527', 'Infensus Consultants', 'Narbeth', 'Pokrehl');
GO
INSERT dbo.CompanyRepresentative (EmployeeID, RepFirstName, RepLastName)
VALUES
('TBOC53297', 'Mike', 'Hartman'),
('TBOC32781', 'Lynn', 'Kynes'),
('TBOC12783', 'Jason', 'McCann'),
('TBOC43971', 'Susan', 'Mueller'),
('TBOC29753', 'Greg', 'Krebs');
GO
當我運行
select * from Contact
僱員ID字段不不顯示外部值關鍵EmployeeID從表dbo.CompanyRepresentative而不是它顯示「NULL」。我錯過了什麼?
它將如何自動插入員工ID?您必須通過查詢插入它。 – 2013-03-07 02:17:55
由於沒有插入該列的值,因此它將爲NULL。 'EmployeeID'中的外鍵不會自動插入數據。 – 2013-03-07 02:18:25
添加一個外鍵不會讓它神奇地填充。外鍵是一個約束條件,用於確保何時在該列中插入數據,該值存在於被引用的表中。在問題中的示例數據中,哪個公司代表行屬於哪個員工?爲什麼? – 2013-03-07 02:19:50