C#插入记录至T_ApplicationRolesUsers时遭遇外键约束冲突问题
解决FOREIGN KEY约束冲突问题
哥们,你这问题一眼就能看出来——你把两个外键字段的赋值搞反了!
先看你手动插入成功的那条正确记录:
RoUs_Role_ID = 6(对应T_ApplicationRoles里的Role_ID=6),RoUs_ApUs_ID = 417(对应T_User里的AUsr_ID=417)
但你的C#代码里却写反了:
UserRoleToAdd.RoUs_Role_ID = 417; UserRoleToAdd.RoUs_ApUs_ID = 6;
错误信息里说冲突发生在T_ApplicationRoles的Role_ID列,就是因为你给RoUs_Role_ID赋值了417,可你的角色表里根本没有Role_ID=417的记录,自然触发外键约束检查失败。
只要把两个字段的赋值调换过来就搞定了:
UserRoleToAdd.RoUs_Role_ID = 6; UserRoleToAdd.RoUs_ApUs_ID = 417;
这样插入的角色ID和用户ID都能匹配到对应表的主键,就和你手动插入的有效记录一致,不会再报约束冲突的错误啦。
内容的提问来源于stack exchange,提问作者Zapfool
相关产品推荐
相关产品推荐

