关于未加密密码字段的建议
客户端发送过来的数据,尤其是密码都要经过加密处理的,而加密又是一向不可逆的过程,在更改密码时候,如果发送到后台php程序的是加密过的数据,那么未加密字段password就显得很鸡肋。
关于主键id的建议
从占用数据库空间的角度考虑
12位随机码占用的数据库空间为6个字节。而用int字段类型的话则占用的是4个字节
如果我们有10000条数据的话,那么10000x(6-4)=20000B=20M的空间
从数据库优化的角度看
用户id是最长在where子句中出现的了,数据库中的查询是比对方式的,mysql将数据一个一个的与要查询的结果字段进行比对,理论上int字段类型的数据要比字符型数据快,主键id要建立索引,索引本身也要占用大量的磁盘空间,每次用户的变迁都要对索引字段进行修改,有规律的int比char速度要快很多。
从操作方便性的角度看
每次插入id都要运行生成随机码的函数,这本身就不方便,用primarykey
从数据库安全的角度看
用自动增长型的字段类型,并不会被用户猜出来,即使猜出来也没有用,我们的注册登录并不通过id
综上考虑我建议id字段用primarykey