gpt4 book ai didi

sql - 外键困惑

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:45 24 4
gpt4 key购买 nike

我不熟悉数据库和制作健身房管理系统,我根据 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)
);

最佳答案

这是你的表 instructor_info

[dbo].[instructor_info] 
PRIMARY KEY CLUSTERED ([InstructorID] ASC)

因此,如果您想从表 member_info 中引用该主键,则必须引用确切的列名 (InstructorID)。

因此您当前的 FK 约束将不起作用 - 您需要引用该列名,并且必须使用相同的数据类型。

更改您的表 member_info 以使用

[Instructor_ID] INT

(而不是 [instructor] NVARCHAR(50) 列)然后将 FK 约束更改为:

CONSTRAINT [FK_member_info_instructor_info] 
FOREIGN KEY ([instructor_ID])
REFERENCES [dbo].[instructor_info]([Instructor_ID])

表中的任何外键都必须引用其他表的主键(或唯一约束)——它不能只引用您喜欢的任何列....

关于sql - 外键困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21256865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com