我是数据库和制作健身房管理系统的新手,我在www.homeandlearn.co.uk的教程中实现了一个数据库。我已经完成了没有外键的项目。现在我必须链接表,但我得到这个错误:外键混淆
Update cannot proceed due to validation errors.
Please correct the following errors and try again.SQL71516 :: The referenced table '[dbo].[member_info]' contains no primary or candidate keys that match the referencing column list in the foreign key. If the referenced column is a computed column, it should be persisted.
我不知道这个错误是什么。请告诉我如何解决这个问题?我是否必须现在创建一个新的数据库,或者我仍然可以在同一个数据库中使用外键?我正在使用Visual Studio 2012.所有帮助将不胜感激。提前致谢。 干杯,
我确实有一个主键,我已经把它设置为增量1.看到这是我的表。
CREATE TABLE [dbo].[member_info] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[memberName] NVARCHAR (50) NULL,
[father_name] NVARCHAR (50) NULL,
[age] NCHAR (10) NULL,
[address] NVARCHAR (50) NULL,
[contact] NVARCHAR (50) NULL,
[height] NVARCHAR (50) NULL,
[weight] NVARCHAR (50) NULL,
[chest] NVARCHAR (50) NULL,
[triceps_biceps] NVARCHAR (50) NULL,
[waist] NVARCHAR (50) NULL,
[shoulders] NVARCHAR (50) NULL,
[thighs] NVARCHAR (50) NULL,
[calves] NVARCHAR (50) NULL,
[instructor] NVARCHAR (50) NULL,
[date_of_admission] DATE NULL,
[photo] IMAGE NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
CONSTRAINT [FK_member_info_instructor_info] FOREIGN KEY ([instructor]) REFERENCES
[instructor_info]([instructor])
);
这是我member_info以下是我instructor_info表:
CREATE TABLE [dbo].[instructor_info] (
[InstructorID] INT IDENTITY (1, 1) NOT NULL,
[instructor] NVARCHAR (50) NULL,
[father_name] NVARCHAR (50) NULL,
[age] NCHAR (10) NULL,
[address] NVARCHAR (MAX) NULL,
[contact] NVARCHAR (50) NULL,
[height] NCHAR (10) NULL,
[weight] NCHAR (10) NULL,
[chest] NCHAR (10) NULL,
[triceps_biceps] NCHAR (10) NULL,
[waist] NCHAR (10) NULL,
[shoulders] NCHAR (10) NULL,
[thighs] NCHAR (10) NULL,
[calves] NCHAR (10) NULL,
[memberName] NVARCHAR (50) NULL,
[date_of_admission] DATE NULL,
[photo] IMAGE NULL,
PRIMARY KEY CLUSTERED ([InstructorID] ASC)
);
表中是否包含数据?如果是,则其他表中的外键必须具有确切的数据类型和精确值作为父表列。否则,您将无法创建约束。 –
您确定这是MySQL - 看起来像是一个MSSql错误 – Liath
向我们展示表结构,以及您如何建立从一个表到另一个表的FK链接! –