希望有人能帮助我。我有一个错误 "SQL71501 :: 外键.[dbo].[FK_AddressBook_Country]有一个未解决的引用列[dbo].[AddressBook].[CountryID]。[dbo].[FK_AddressBook_Country]对列[dbo].[AddressBook].[CountryID]有一个未解决的引用。"它红线了([CountryID])"。我找不到它的错误在哪里。其实我是按照这个网站 http:/demo.dotnetawesome.commvcmycontactbookpart2。 ,我只是换了个表。希望有人能帮我解决这个问题。
CREATE TABLE [dbo].[AddressBook] (
[Id] INT NOT NULL,
[Name] VARCHAR (50) NOT NULL,
[Surname] VARCHAR (50) NOT NULL,
[Address1] VARCHAR (200) NOT NULL,
[Address2] VARCHAR (100) NULL,
[Postcode] VARCHAR (6) NOT NULL,
[Town] VARCHAR (20) NOT NULL,
[Country] VARCHAR (50) NOT NULL,
[Email] VARCHAR (50) NOT NULL,
[MobileNumber] VARCHAR (20) NOT NULL,
[PictureUser] VARCHAR (200) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_AddressBook_Country] FOREIGN KEY ([CountryID]) REFERENCES [Country]([CountryID])
);
CREATE TABLE [dbo].[Country] (
[CountryID] INT IDENTITY (1, 1) NOT NULL,
[CountryName] VARCHAR (100) NOT NULL,
PRIMARY KEY CLUSTERED ([CountryID] ASC)
);
这应该可以正常工作,但是有两个错误,首先在 "FOREIGN KEY ([CountryID]) "中,你在AdresseBook中没有名为 "CountryId "的字段,我想你想把 "Country "这个字段作为一个外键,如果是这样的话,adressBook中的Country字段必须与CountryID的表Country有相同的类型。
CREATE TABLE [dbo].[AddressBook] (
[Id] INT NOT NULL,
[Name] VARCHAR (50) NOT NULL,
[Surname] VARCHAR (50) NOT NULL,
[Address1] VARCHAR (200) NOT NULL,
[Address2] VARCHAR (100) NULL,
[Postcode] VARCHAR (6) NOT NULL,
[Town] VARCHAR (20) NOT NULL,
[Country] INT NOT NULL,
[Email] VARCHAR (50) NOT NULL,
[MobileNumber] VARCHAR (20) NOT NULL,
[PictureUser] VARCHAR (200) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_AddressBook_Country] FOREIGN KEY ([Country]) REFERENCES [Country]([CountryID])
);
CREATE TABLE [dbo].[Country] (
[CountryID] INT IDENTITY (1, 1) NOT NULL,
[CountryName] VARCHAR (100) NOT NULL,
PRIMARY KEY CLUSTERED ([CountryID] ASC)
);