【发布时间】:2013-02-06 14:02:59
【问题描述】:
我正在尝试创建一个链接到多个角色的表。 该表称为 UserRoles,只有两列。
第一列包含对用户的引用 第二列包含指向角色的链接
您可能会在底部注意到,我使用了 FOREIGN KEY REFERENCES,但我不断收到错误消息
执行查询时出现以下错误:
服务器:消息 1770,级别 16,状态 0,行 1 外键 'FK_UserRoles_user___70DDC3D8' 引用无效列 'user_id' 在引用的表“MyUsers”中。
无法创建约束。查看以前的错误。
有没有更好的方法来做到这一点?
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),
);
【问题讨论】:
标签: sql-server foreign-keys create-table