Qual è il modo migliore per conservare 10 opzioni in un database MySQL?
-
21-09-2019 - |
Domanda
Io sono la modifica del codice di mia rete PHP di avere "ruoli utente" come WordPress Ecco il mio piano finora
0 = registrata non email verificato utente
1 = registed e verificati email
2 = moderatore
3-9 = ancora nulla
10 = admin
Nel mio codice PHP farò utilizzare un array come questo che fisserà ciò che un numero di ruolo fa.
$user_role['10']
Stavo pensando di memorizzazione che il valore di un utente ha a mio DB MySQL, questo sarebbe il modo migliore per conservare i 10 differenti opzioni ruolo di un enum o c'è un modo migliore o modo più veloce? Ho letto che enum a volte non è il più veloce.
enum('0','1','2','3','4','5','6','7','8','9','10')
Soluzione
Credo INT
o TINYINT
è sufficiente a livello di archivio utenti (ruolo). Inoltre si può prendere in considerazione multiplting i numeri del 10, così potrai avere uno spazio per aggiungere più livelli in futuro.
Altri suggerimenti
Utilizzare bitmasks per i permessi / livelli utente.
Vedere esempio .