带有FOREIGN KEY REFERENCES的错误消息

use*_*599 3 sql-server foreign-keys create-table

我正在尝试创建一个链接到多个角色的表.该表称为UserRoles,只有两列.

第一列包含对用户的引用第二列包含指向角色的链接

我使用了FOREIGN KEY REFERENCES,你可能会注意到底部,但我一直收到错误信息

执行查询时发生以下错误:

服务器:消息1770,级别16,状态0,行1外键'FK_ UserRoles _user___70DDC3D8'在引用的表'MyUsers'中引用无效列'user_id'.

无法创建约束.查看以前的错误.

有一个更好的方法吗?

CREATE TABLE MyUsers
(
id                INT          IDENTITY(1,1)PRIMARY KEY,
user_logon_id     VARCHAR(30)  NOT NULL,
user_full_name    VARCHAR(30)  NULL,
user_description  VARCHAR(125) NULL,
user_password     VARCHAR(125) NOT NULL,
);

INSERT INTO MyUsers (user_logon_id, user_full_name, user_description, user_password) VALUES ('mcobery', 'Marc Cobery',

CREATE TABLE MyRole
(
myrole_id         INT          IDENTITY(1,1)PRIMARY KEY,
role_name         VARCHAR(30)  NOT NULL,
role_description  VARCHAR(50)  NULL,
);

INSERT INTO MyRole (role_name, role_description) VALUES ('administrator', ' Administrator of the web site');

INSERT INTO MyRole (role_name, role_description) VALUES ('user', ' User of the web site');

CREATE TABLE UserRoles
(
user_id int FOREIGN KEY REFERENCES MyUsers(user_id),
role_id int FOREIGN KEY REFERENCES MyRole(role_id),
);
Run Code Online (Sandbox Code Playgroud)

Dev*_*ion 6

它应该如下

CREATE TABLE UserRoles
 (
    user_id int FOREIGN KEY REFERENCES MyUsers(id),
    role_id int FOREIGN KEY REFERENCES MyRole(myrole_id),
 );
Run Code Online (Sandbox Code Playgroud)

myUsers表中不存在user_id列