SQL71501 :: 外键。[dbo].[FK_AddressBook_Country]对列[dbo].[AddressBook].[CountryID]有一个未解决的引用。

问题描述 投票:0回答:1

希望有人能帮助我。我有一个错误 "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)
);
sql asp.net-mvc database web localdb
1个回答
0
投票

这应该可以正常工作,但是有两个错误,首先在 "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)
    );
© www.soinside.com 2019 - 2024. All rights reserved.