Home  >  Q&A  >  body text

php - 请问mysql怎么设计用户表的userid?

密码的话 用什么类型合适?varchar吗?
我想userid跟用户名都可以登录。
userid是怎么设计的?类似论坛一样或者类似QQ号码一样。
userid如果是要int类型主键 自动增加的话是一位数开始的。
我想要五位数开始 比如:10001,10002,10003,以此类推

ringa_leeringa_lee2653 days ago313

reply all(5)I'll reply

  • 巴扎黑

    巴扎黑2017-04-11 09:14:52

    密码用varchar就可以,根据你加密后的长度取就可以,主键自增开始值设置:ALTER TABLE XXXX AUTO_INCREMENT=10001;

    reply
    0
  • 怪我咯

    怪我咯2017-04-11 09:14:52

    userID可以设置为 char(5), 因为一般不会对userID进行修改。
    密码可以设置为varchar, 然后在你的后端代码进行控制。
    使用用户名登录注意重名情况。

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 09:14:52

    设计的话正常该怎么设计就怎么设计,登录的时候,判断提交过来的是数字,还是字符串来执行代码分支就好啦

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-11 09:14:52

    1. mysql 自增主键的 起始值 是可以设置的(数字类型)

    2. 密码使用 char(32) 或者 char(64) 这种,具体长度,看你使用的 散列算法

    如果使用 散列,那长度是一定的。 而 在 长度一定的 列 上 使用 char(x) 比 varchar(x) 好 。

    说 varchar 的:

    1. 要么打算存 明文存储(长度不一定, 使用 varchar 节省空间)。

    2. 要么就是不了解 char 和 varchar 的区别。

    综上

    reply
    0
  • 阿神

    阿神2017-04-11 09:14:52

    密码就varchar,找一些不可逆的算法处理一下就好(MD5)

    userId可以设置自增起始值的,也可以自己实现sequence。

    reply
    0
  • Cancelreply