[英]Why can I not create a foreign key for this table?
表格1:
CREATE TABLE News
(
News_Id int PRIMARY KEY IDENTITY(1,1),
Title nvarchar(200) NOT NULL,
Author nvarchar(50),
Calender DATETIME NOT NULL,
Contents nvarchar(20) NOT NULL, --store link to text file
[Type_Id] int ,
FOREIGN KEY ([Type_Id]) REFERENCES [Types]([Type_Id])
)
表 2:
CREATE TABLE [Types]
(
[Type_Id] int,
Name nvarchar(50),
PRIMARY KEY ([Type_Id])
)
我收到此錯誤:
FK_News 引用了無效的表類型
你能幫助我嗎?
由於Types
表似乎是主要表,因此您應該首先創建它:
CREATE TABLE [Types](
[Type_Id] int,
Name nvarchar(50),
PRIMARY KEY ([Type_Id])
);
然后,創建News
表,該表具有引用上述Types
的外鍵:
CREATE TABLE News(
News_Id int PRIMARY KEY IDENTITY(1,1),
Title nvarchar(200) NOT NULL,
Author nvarchar(50),
Calender DATETIME NOT NULL,
Contents nvarchar(20) NOT NULL, --store link to text file
[Type_Id] int ,
FOREIGN KEY ([Type_Id]) REFERENCES [Types]([Type_Id])
);
無法將外鍵指向尚不存在的表。
您必須先創建Type
表,然后再創建News
表,因為您將外鍵從 Type 表引用到 News 表。
表格1:
CREATE TABLE [Types](
[Type_Id] int,
Name nvarchar(50),
PRIMARY KEY ([Type_Id])
)
表2:
CREATE TABLE News(
News_Id int PRIMARY KEY IDENTITY(1,1),
Title nvarchar(200) NOT NULL,
Author nvarchar(50),
Calender DATETIME NOT NULL,
Contents nvarchar(20) NOT NULL, --store link to text file
[Type_Id] int ,
FOREIGN KEY ([Type_Id]) REFERENCES [Types]([Type_Id])
)
由於您首先創建了 News 表,因此將其刪除並重新創建。 或者創建兩個沒有約束的表,然后用主鍵和外鍵改變這兩個表
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.