[英]How do I create a table with a foreign key reference?
這是我創建的兩個表。
CREATE TABLE Employee
(
EmpID int IDENTITY(1,1) PRIMARY KEY,
LastName VARCHAR(50) NOT NULL,
FirstName VARCHAR(50) NOT NULL,
StreetAddress VARCHAR(75),
City VARCHAR(255),
State VARCHAR(25),
ZipCode VARCHAR(5),
EmployeeType VARCHAR (20),
HourlyWage DECIMAL(18,2)
)
CREATE TABLE WagesPayable
(
FOREIGN KEY (EmpID) REFERENCES Employee (EmpID),
WorkedHours DECIMAL(18,2),
PayRate DECIMAL(18,2),
TotalPayable AS (WorkedHours * PayRate),
DateLastPaid DATETIME
)
每當我嘗試創建WagesPayable
表時,都會出現以下錯誤:
消息1769,第16層,狀態1,第26行
外鍵“ EmpID”引用表“ WagesPayable”中的無效列“ EmpID”。
我在這里想念什么? 非常感謝您的幫助。
您需要在引用之前聲明該列。 您可以一步一步完成所有操作:
CREATE TABLE WagesPayable
(
EmpID int REFERENCES Employee (EmpID),
WorkedHours DECIMAL(18,2),
PayRate DECIMAL(18,2),
TotalPayable AS (WorkedHours * PayRate),
DateLastPaid DATETIME
)
SQL Fiddle在這里 。
您沒有為WagesPayable表創建EmpID列。
因此,首先需要創建列,然后將其作為外鍵引用,如下所示:
CREATE TABLE WagesPayable
(
EmpID int,
WorkedHours DECIMAL(18,2),
PayRate DECIMAL(18,2),
TotalPayable AS (WorkedHours * PayRate),
DateLastPaid DATETIME,
FOREIGN KEY (EmpID) REFERENCES Employee (EmpID)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.