在mysql数据库中存储10个选项的最佳方式是什么?
我正在修改我的PHP网络代码,使其具有像wordpress这样的“用户角色”,这是我目前的计划 0=已注册的非电子邮件验证用户在mysql数据库中存储10个选项的最佳方式是什么?,mysql,enums,user-roles,Mysql,Enums,User Roles,我正在修改我的PHP网络代码,使其具有像wordpress这样的“用户角色”,这是我目前的计划 0=已注册的非电子邮件验证用户 1=已注册和验证的电子邮件 2=主持人 3-9=还没有什么 10=管理员 在我的PHP代码中,我将使用这样一个数组来设置角色号的作用 $user_role['10'] 我正在考虑在mysql数据库中存储用户拥有的值,这是将10个不同角色选项存储为枚举的最佳方法还是有更好或更快的方法?我读到enum有时不是最快的。 enum('0','1','2','3','4','5
1=已注册和验证的电子邮件
2=主持人
3-9=还没有什么
10=管理员 在我的PHP代码中,我将使用这样一个数组来设置角色号的作用
$user_role['10']
我正在考虑在mysql数据库中存储用户拥有的值,这是将10个不同角色选项存储为枚举的最佳方法还是有更好或更快的方法?我读到enum有时不是最快的。
enum('0','1','2','3','4','5','6','7','8','9','10')
对权限/用户级别使用位掩码
请参阅。对权限/用户级别使用位掩码
请参阅。我想
INT
或TINYINT
足以存储用户级别(角色)。此外,您可以考虑将数字乘以10,这样您将有空间在将来添加更多的级别。 < P>我猜<代码> int <代码>或<代码> TINYINT 存储用户级别(角色)就足够了。此外,你可以考虑把数字乘以10,这样你就有空间在将来增加更多的水平。小心地扩展这个答案。看起来有点复杂,你认为这会更快吗?另外,如果我在mysql中使用了enum,我会不会在mysql中不使用enum?@jasondavis否您只会在db中存储权限的十进制表示形式,通过我答案中更改的链接阅读,它解释了在该答案上扩展一点真的很好?这看起来有点复杂,您认为这会更快吗?另外,如果我使用了,我会不会在mysql中不使用enum?@jasondavis不,你只会在db中存储权限的十进制表示形式,通过我答案中更改的链接阅读,这很好地解释了这一点。我同意这一点。如果您只需要一个数字来表示用户权限,那么只需使用整数列即可。如果使用ENUM,那么添加新级别的唯一方法就是更改数据库架构。另外,ENUM是特定于mysql的非标准的,一般来说,除非您真的需要特定于供应商的功能,否则您应该避免使用它们。我同意这一点。如果您只需要一个数字来表示用户权限,那么只需使用整数列即可。如果使用ENUM,那么添加新级别的唯一方法就是更改数据库架构。此外,ENUM是特定于mysql的非标准的,一般来说,除非您真的需要特定于供应商的功能,否则您应该避免使用它们。