mysql数据库做关联一般用id还是用户名
问题描述
本人做前端的,正在一边摸索一边做个个人php项目,需要通过a连接传一个用户标识,来显示相应用户的数据.本人使用的是mysql.
<a href='https://www.haobala.com/wenda/index.php?ui=<?php echo $_SESSION[ ’username’ ] ?>'>
所以想问一下做这个标识(关联)一般用id还是用户名,用用户名关联的话,可以从session获取。那用id关联是不是还得把id传到前面来
问题解答
回答1:如果username具备唯一性的话,个人建议还是用username。id通常是自增的,那么就可以根据id大致估算出网站的真实用户数。比如:很多网站都喜欢拿注册用户数来“炫耀”,号称自己有多少多少注册用户(百分之九十以上都是吹牛B的),那么,肯定是不能把id暴露出来的。当然,如果你定义的id是无规律的,或者不需要对外影藏这些信息的话,id再合适不过了。
回答2:Id.万一用户名变成一样的呢?所以必须id ,id 设为主键
回答3:1.一般是用id2.該id大多數不是主鍵標識,而是使用用戶的唯一編碼3.看你應該不太會後台語言,既然你使用session作為參數,可以直接有後台處理,而非用前端處理。所以id不需要傳過來
回答4:没有硬性要求,但是如果要考虑性能,选短的简单的就对了.
如: 优化性能,减少匹配工序如数值匹配跟字符串匹配
回答5:这个要看你数据库设计的,不过一般用id做好了,用户名不保险
回答6:我们用sn,用户唯一序列号
回答7:了解下数据库的主键与外键
相关文章:
1. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)2. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题3. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么4. MySQL中的enum类型有什么优点?5. MySQL能否给某个字段的值设置有效期?6. mysql多表联合查询优化的问题7. node.js - 我想让最后进入数据库的数据,在前台最先展示,如何做到?8. MYSQL新建用户设置可以远程访问的问题9. linux - 为什么我在mysql的my.cnf下找不到bind-address?10. 数据库设计 - MySQL数据库主键问题
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)