首页 新闻 搜索 专区 学院

关于数据库主键设计

0
悬赏园豆:10 [已解决问题] 解决于 2013-01-01 12:01

现在需要建立一个用户表User,用户表有2个必须的字段UserName和UserPasswrod

现在就是主键的问题,是再添加一个自增长列ID,还是把UserName设置成主键?

如果我只有ID列为主键的话,那么用户名和密码肯定是有重复注册的呢?请问这个时候怎么设计最好?

前辈们,指点我吧^_^

爱情贩卖机的主页 爱情贩卖机 | 初学一级 | 园豆:17
提问于:2012-12-31 19:17
< >
分享
最佳答案
0

主键的作用就是确保唯一性和完整性,最好你把id设为整形自增长列。

但是你考虑到重复注册问题:有两个解决办法,一个是你在每次登陆前先检查用户名是否存在,存在提示已存在拒绝登陆。

2,同时可以设置两个主键:

收获园豆:10
伏草惟存 | 小虾三级 |园豆:1420 | 2012-12-31 19:33

如果设置2个主键,那么建立外键关系是二取一还是用ID呢?

这么设计对业务的增删改查和第一种哪个更好一点呢?

爱情贩卖机 | 园豆:17 (初学一级) | 2012-12-31 19:36

最好还是把整型自增Id 设为主键 ,这样操作起来相对方便。若是以后 数据量庞大的话建议你用guid

jory | 园豆:322 (菜鸟二级) | 2012-12-31 19:55

@Om.Jj.Wang: 第一种把,我经常这样用

伏草惟存 | 园豆:1420 (小虾三级) | 2012-12-31 20:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册