webForumDet fria alternativet

Hur ange användargradering på bästa sätt i MySQL?

Webbutveckling

1 svar · 453 visningar · startad av bassebhu

Medlem sedan nov. 20016 480 inlägg
Frågan#1

Hallå!

Hur bör jag på bästa sätt ange vilka rättigheter en användare har?

T.ex. ett fält i användartabellen med varchar (5) där det får plats ADMIN, USER, MOD etc. eller en tinyint (1) med bara siffervärden från 0-9?
Fördelar/nackdelar? Det med text måste ju kännas trevligt i koden, men siffrorna raskare att jämföra?
Det borde ju vara mariginell skillnad så jag är bara ute efter vad som anses bäst :)

Vad brukar ni kalla detta fält på engelska? grade, status, rank, type?

Tack!

Medlem sedan aug. 20039 340 inlägg
#2

Ska du bara ha ett begränsat antal typer av användare kan du köra en enum. Då lagras värdet som en tinyint, men man komemr åt det som om det vore ett sträng-värde. Vill du att man ska kunna lägga till användarklasser i efterhand bör du ha en tabell till som innehåller åtminstone fälten ID och klassnamn.

254 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)