所以可以说我有一个用户表,然后是一个 user_profile 表。为了连接关系,user_profile 表中会有一个 user_id 行。现在,当我构建应用程序时,我喜欢让我的 url 显示用户名而不是 user_id 示例:
http://www.example.com/username/profile
不是:
http://www.example.com/user_id/profile
所以我发现自己所做的就是通过用户名获取 user_id,然后获取个人资料信息,这只是无缘无故地添加了一个额外的查询。我的问题是我是否可以通过用户名建立关系,该用户名与用户表中的 id 行一样唯一。或者这是不好的做法,我应该坚持使用 user_id?
最佳答案
更好的想法是使用 user_id
来连接表,但提供用户名作为参数。像这样的东西:
select p.*
from users u
, profiles p
where u.id = p.user_id
and u.username = ?
关于php - 通过用户名而不是 ID 建立关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24638095/