我正在尝试将用户添加到某个角色,并且我得到'用户已经在角色中',用户实际上没有任何角色,我跟踪了在Roles.IsUserInRole(user_name)后面运行的查询,它就像这样:
SELECT COUNT(*) FROM my_aspnet_usersinroles uir
JOIN my_aspnet_users u ON uir.userId=u.id
JOIN my_aspnet_roles r ON uir.roleId=r.id
WHERE u.applicationId=1 AND
u.name LIKE 'user_name' AND r.name LIKE 'rolename'
现在的问题是我有另一个用户(user.name)并且该用户已经在该角色中,但由于(_)在类似模式中获得此结果。 请注意我正在使用MySql会员提供商,有什么想法吗?
感谢
答案 0 :(得分:1)
您应该能够使用[]或ESCAPE子句转义下划线字符(更适合您的情况。)
请原谅SQL2000参考资料......
答案 1 :(得分:0)
LIKE子句中的下划线充当外卡,因此该位置的任何字符都将匹配。
如果您正在寻找特定记录,为什么不做WHERE u.name ='user_name'?