登录系统,用户名是不能重复的
可是为什么还是不推荐使用 “用户名”做主键呢?

解决方案 »

  1.   

    本帖最后由 roy_88 于 2008-10-24 14:42:01 编辑
      

  2.   

    用户表一般是肯经有id,是系统自动生成的,一般都是primary key,对应的用户名,从业务角度要求不能重复,其实数据库里,只认你的id,不管的用户名,
      

  3.   

    理论上可以把用户名作为主键。但不推荐,理由大概有:
    1.用户名可以是千奇百怪的字符串,而用ID(一般用guid或自增int)是比较规则字母数字序列,这可能导致性能上有所差别
    2.假如以用户名作为主键并与其他表关联,当删除用户时,再创建一个同名的用户,可能导致这些关联紊乱。而绝对唯一的ID则不会。
    3.有的系统可能会允许修改用户名,如果以用户名为主键,将带来很多麻烦。而如果以ID为主键进行关联,则没有此问题。