为什么我不能在SQL Server中创建FK?

时间:2014-06-09 08:57:48

标签: sql key

我有两张桌子:

1)UsersTable:

userID:  PK,  int,  notnull
username:  nvarchar(MAX),  notnull
password:  nvarchar(MAX),  notnull
Roles:  int,  notnull

2)UserRoles:

ID_Roles:  PK,  int,  notnull
Role:  nvarchar(MAX),  notnull

现在我想把FK(外键)放在UserTable中,其中FK的ID是ID_Roles,我收到这个错误:

'UserRoles'表已成功保存 'UsersTable'表 - 无法创建关系'FK_UsersTable_UserRoles' ALTER TABLE语句与FOREIGN KEY约束“FK_UsersTable_UserRole”冲突。冲突发生在数据库“userDb”,表“dbo.UserRole”,列'ID_Roles'。

知道出了什么问题吗?

1 个答案:

答案 0 :(得分:3)

如果您在User表中有数据,并且此表中的Roles字段记录与UserRoles表中的值不同,那么您将收到此错误。    因此,请确保“用户表格中的角色”字段中显示的数据在UserRoles表中具有值。