为什么不推荐用 “用户名” 做主键 登录系统,用户名是不能重复的可是为什么还是不推荐使用 “用户名”做主键呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 roy_88 于 2008-10-24 14:42:01 编辑 用户表一般是肯经有id,是系统自动生成的,一般都是primary key,对应的用户名,从业务角度要求不能重复,其实数据库里,只认你的id,不管的用户名, 理论上可以把用户名作为主键。但不推荐,理由大概有:1.用户名可以是千奇百怪的字符串,而用ID(一般用guid或自增int)是比较规则字母数字序列,这可能导致性能上有所差别2.假如以用户名作为主键并与其他表关联,当删除用户时,再创建一个同名的用户,可能导致这些关联紊乱。而绝对唯一的ID则不会。3.有的系统可能会允许修改用户名,如果以用户名为主键,将带来很多麻烦。而如果以ID为主键进行关联,则没有此问题。 数据库兼容模式设置 sqlserver varchar自动转化成int 表表比较问题?求sql语句 类型问题 sql2005 无法连接 再问,如何用命令语句导入数据到SQL数据库里 2000升级到2005,有一个行列转换的存储过程输出结果没按序排列,有人碰到过吗? 急!!!数据库不能恢复 合并表内容 sql添加什么字段或者函数 求教高人给翻译翻译这两段sql语句具体是啥个意思~愁~QQQ 请教个sql
1.用户名可以是千奇百怪的字符串,而用ID(一般用guid或自增int)是比较规则字母数字序列,这可能导致性能上有所差别
2.假如以用户名作为主键并与其他表关联,当删除用户时,再创建一个同名的用户,可能导致这些关联紊乱。而绝对唯一的ID则不会。
3.有的系统可能会允许修改用户名,如果以用户名为主键,将带来很多麻烦。而如果以ID为主键进行关联,则没有此问题。