¿Cuál es la mejor manera de almacenar 10 opciones en una base de datos MySQL?
-
21-09-2019 - |
Pregunta
Estoy modificando el código de mi red PHP para tener "funciones de usuario" como WordPress aquí es mi plan hasta la fecha
0 = no registrada de correo electrónico del usuario verificado
1 = registed y verificados correo electrónico
2 = moderador
3-9 = nada todavía
10 = admin
En mi código PHP voy a utilizar una matriz como ésta, que establecerá lo que hace un número de papel.
$user_role['10']
Estaba pensando en almacenamiento que valorar que un usuario haya en mi base de datos MySQL, esto sería la mejor manera de almacenar las 10 opciones de papel diferente como una enumeración o hay una mejor manera o de forma más rápida? He leído que la enumeración no es el más rápido a veces.
enum('0','1','2','3','4','5','6','7','8','9','10')
Solución
supongo INT
o TINYINT
es suficiente para nivel de almacenamiento de usuario (rol). También puede considerar multiplting los números 10, por lo que tener un espacio para añadir más niveles en el futuro.
Otros consejos
Utilice máscaras de bits para los permisos / niveles de usuario.
Consulte ejemplo .