sqlserver 怎么设置唯一性 可为NULL

我有一个表,有两个字段,Email和Mobile.用户可以用Email或Mobile来登录。但是注册的时候经常出现重复提交,导致Email或Mobile重复的问题。怎么设... 我有一个表,有两个字段,Email和Mobile.用户可以用Email或Mobile来登录 。但是注册的时候经常出现重复提交,导致Email或Mobile重复的问题。怎么设置它的唯一性?
ALTER TABLE ACCOUNT ADD CONSTRAINT u_store UNIQUE NONCLUSTERED(MOBILE)
我用这个代码来设置说字段有重复的键,可能是为NULL导致的。如何解决?我想要设置成可以为NULL的但是又希望能够设置重复约束。
展开
 我来答
百度网友9a842d4
推荐于2016-09-28 · TA获得超过141个赞
知道小有建树答主
回答量:77
采纳率:0%
帮助的人:84.4万
展开全部
这个东西在数据库控制可以,但是效果不是很好。

可以在前台控制,注册时填写完Email或者Mobile时,就去数据库查一下是否重复,不重复通过,重复了前台直接报错。做好不要把任务交给数据库做,数据库可以设置唯一性约束,但是这只是最后一把锁,最主要实在前台控制好。
更多追问追答
追问
我也是查一下的,只是有时候网络卡之类的,多点了几下,导致数据有错开的现象。然后就添加了两条。
追答
不是很明白的你的意思,如果网络环境不好,前台查询的时候网络中断,这些情况可以用try catach解决,总之是需要前台控制的。
前台不但需要控制不允许重复,还需要控制格式啦,长度啦,密码复杂度等等。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tj_angela
2014-07-08 · TA获得超过7530个赞
知道大有可为答主
回答量:6797
采纳率:75%
帮助的人:2566万
展开全部
设为唯一允许有空值,但是空值也只允许最多一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式