Was ist der beste Weg 10 Optionen in einer MySQL-Datenbank speichern?
-
21-09-2019 - |
Frage
Ich Modifizieren mein PHP-Netzwerk-Code „Benutzerrollen“ zu haben, wie Wordpress hier ist mein Plan so weit
0 = nicht angemeldet E-Mail verifizierter Benutzer
1 = registed und verifizierte E-Mail
2 = Moderator
3-9 = nothing yet
10 = admin
In meinem PHP-Code werde ich ein Array wie diese verwenden, wird festgelegt, was eine Rolle Anzahl der Fall ist.
$user_role['10']
Ich war von Speicher denke, die ein Benutzer schätzt in meinem mysql DB hat, wäre dies der beste Weg sein, um die 10 verschiedenen Rollenoptionen als Enum zu speichern, oder gibt es einen besseren Weg, oder schnelleren Weg? Ich las, dass ENUM ist nicht der schnellste manchmal.
enum('0','1','2','3','4','5','6','7','8','9','10')
Lösung
Ich denke, INT
oder TINYINT
zum Speichern von Benutzerebene genug (Rolle). Auch können Sie prüfen, die Zahlen von 10 multiplting, so dass Sie einen Platz haben, werden auf mehreren Ebenen in Zukunft hinzuzufügen.
Andere Tipps
Verwenden Bitmasken für Berechtigungen / Benutzerebene.
Unter Beispiel .