簡體   English   中英

如何創建帶有外鍵引用的表?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM