社区
MS-SQL Server
帖子详情
用户名作主键?
imafool
2003-08-21 01:54:10
做一个用户登录系统,用户名是唯一的,我在用户的数据表中用用户名作主键。但人们通常是用一个ID字段来做主键。我这样做有何不妥和隐患吗?
...全文
279
15
打赏
收藏
用户名作主键?
做一个用户登录系统,用户名是唯一的,我在用户的数据表中用用户名作主键。但人们通常是用一个ID字段来做主键。我这样做有何不妥和隐患吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
imafool
2003-08-28
打赏
举报
回复
我最终加了ID……也不甘情不愿:)
owenszc
2003-08-24
打赏
举报
回复
总之呢?用'用户名"做主键不是不可以。但是为了以后可以方便的使用。本人建议你还是加一个ID字段比较好。毕竟加一个也不多嘛
changechange
2003-08-23
打赏
举报
回复
有问题,如果同名同姓,或者员工离开后,又再次被招回怎么办?
zhaoloudy
2003-08-23
打赏
举报
回复
比如:要是你删除了一个用户,再增加同样一个用户名字,ID就不会一样。要是上一个用户的权限表相对用户名没有清除干净,就有问题了。用ID可以避免。不知到我说清除了吗。
imafool
2003-08-23
打赏
举报
回复
因为系统已经确定用户名不能重复和更改,所以才想用用户名的。
为什么数字索引要快啊^_^
sdhdy
2003-08-23
打赏
举报
回复
不妥和隐患:用户名以后可能要更改,而且以后可能有重复的用户名,所以用用户名作主键很不妥,而用ID字段来做主键可以完全避免这种情况。
还有上面所说的:用数字做索引查询和搜索的速度都比字符串快!
Rayfly
2003-08-23
打赏
举报
回复
代理键通常是整数或数字,使用identity属性自动增加,另外,如果用在全文检索的话,这个东东的好处就表现出来了
Rayfly
2003-08-23
打赏
举报
回复
如果使用ID,这个ID称为代理键(surrogate key),数据库里搞这么个东西不是没有道理的
举个简单的例子,有一个人叫“我是一只芒果,果果果果果果果果果果果果果果果”,用ID的的话只要设置为1,你说哪一个好呢?
程序猿之殇
2003-08-23
打赏
举报
回复
我觉得做主键最好用ID,
这样扩展性好,
而且用数字做索引查询和搜索的速度都比字符串快!
imafool
2003-08-21
打赏
举报
回复
这儿用户名不重复。……其实一般都不重复。
fmdsaco
2003-08-21
打赏
举报
回复
用户名有重复的呀
imafool
2003-08-21
打赏
举报
回复
用户名是象所有的注册系统一样:比如CSDN,由用户指定并不可变更。
为什么对join操作会有很大影响呢?
如果用ID,用identity?当数据量非常大时,删除后不可重复使用会不会给将来添麻烦?
愉快的登山者
2003-08-21
打赏
举报
回复
最好使用用户编号,若你的用户名是简写或代号的话,做主键还是可以的。
pengdali
2003-08-21
打赏
举报
回复
你未来要变更用户名呢?
varchar做主键不好,对join的效率有很大影响。
CrazyFor
2003-08-21
打赏
举报
回复
没有问题,可我觉得最好加一个ID.
电子商务设计师真题06年和07年
根据问题描分述),写出客户、委托书和派工单这三个关系的
主键
。 车辆 故障 委托书 派工 维修项目 客户 业务员 员工 维修工 1 (1) (2) (3) (4) 2007 年下半年电子商务设计师下午试卷第 6 页(共 6 页) 试题三(共 ...
postgresql数据库如何实现
主键
自增
postgresql数据库可以创建
主键
,但是没有像mysql那样直接指定
主键
自增的auto_increment关键字,因此如果在postgresql中创建表指定
主键
自增使用auto_increment会报错。那么如何实现
主键
自增,postgresql通过序列来...
【mybatis】学习讲义
主键
返回(mybatis的自增
主键
或者非自增
主键
) 批量查询 动态传参 查询缓存(一级缓存、二级缓存) 延迟加载(侵入式延迟加载、深度延迟加载) 关联查询(一对一、一对映射) 逆向工程 PageHelper分页插件 注解开发
Mybatis基础知识
目录 一、mybatis综述 1、mybatis介绍 2、mybatis架构 3、mybatis入门程序 ...4、插入时
主键
问题 (1)自增
主键
返回 (2)非自增
主键
返回 5、#{}和${} 二·、mybatis主配置文件SqlMapConfig.xml 1、pr
Java-MyBatis框架(二) 高级使用详解
如果sql查询字段名和pojo的属性名不一致,可以通过resultMap将字段名和属性名
作
一个对应关系 ,resultMap实质上还需要将查询结果映射到pojo对象中。 resultMap可以实现将查询结果映射为复杂类型的pojo,比如在查询...
MS-SQL Server
34,591
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章