SQL Management Studio 2012外键一团糟

SQL Management Studio 2012外键一团糟,sql,foreign-keys,Sql,Foreign Keys,我正在尝试向表中添加外键。我已经创建了两个表 CREATE TABLE madeupbusiness.staff ( staffnum int NOT NULL, forename varchar(30) NOT NULL, surname varchar(30) NOT NULL, meeting int NOT NULL, PRIMARY KEY (staffnum), ) GO 会议应使用会议表中的PK创建FK: CREATE TABLE madeupbusiness.meeting (

我正在尝试向表中添加外键。我已经创建了两个表

CREATE TABLE madeupbusiness.staff
(
staffnum int NOT NULL,
forename varchar(30) NOT NULL,
surname varchar(30) NOT NULL,
meeting int NOT NULL,
PRIMARY KEY (staffnum),
)
GO
会议应使用会议表中的PK创建FK:

CREATE TABLE madeupbusiness.meeting
(
meetingnum int NOT NULL,
room varchar(30) NOT NULL,
PRIMARY KEY (meetingnum),
)
GO
要创建外键,我运行此查询

ALTER TABLE madeupbusiness.staff
WITH CHECK
ADD CONSTRAINT FK_staff_meetingnum FOREIGN KEY (meetingnum)
REFERENCES madeupbusiness.meeting(meetingnum)
ON DELETE CASCADE
ON UPDATE CASCADE
;
GO
查询运行,但当我创建数据库图时,有一个方形循环将staffnum键的staff表返回到它。对不起,我真的不知道怎么形容它。这两个表之间没有关系。我做错了什么


我已尝试从“设计”视图添加关系,但外键表显示为灰色。

如果可以重建表,请执行以下操作:

   CREATE TABLE madeupbusiness.meeting
   (meetingnum int NOT NULL PRIMARY KEY REFERENCES madeupbusiness.meeting(YourColumnYouWantItShouldBeReferenced),
   room varchar(30) NOT NULL);
   GO

madeupbusiness.staff表中没有meetingnum列alter表应为barf。这是问题或代码中的输入错误?我是SQL server新手。我没有意识到在创建表时必须刷新数据库。这就是为什么它没有从其他表中获取PKs。很抱歉浪费了人们的时间。您只需引用引用引用表中的有效列即可