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