Hi,
auch. Ein weiterer Grund ist die absolute Bedeutungslosigkeit einer ID neben ihrer Eindeutigkeit.
Ich hab noch einen Frage zur User-ID. Kann ich die einfach mit auto_increment erstellen, oder ist es nicht gut, wenn der erste User dann die ID 1 hat?
Dafür würde es aber vielleicht Platz sparen.
Oder man könnte mit einer hohen Zahl anfangen und dann rückwärts zählen, um mögliche Angreifer zu verwirren. ;-)
Was ich übrigens bei auto_increment nie verstanden habe ist, daß die Zahlen ja immer weiter laufen. Und wenn sich zwischendrin ein User abmeldet, dann entsteht ja eine Lücke die nie mehr gefüllt wird.
Wenn sich also dauernd User an- und abmelden wird die ID-Zahl immer höher, und erreicht vielleicht irgendwann ein Limit?
Andererseits ist int unsigned ja doch ganz schön groß. :-)
Aber das führt doch auch gleichzeitig dazu, daß ich andauernd nachschauen muß wie der User heißt, der zu der ID gehört, wenn ich das richtig verstehe.
Nur wenn Du den Namen brauchst. SQL bietet dazu verschiedene Methoden an.
Was meinst Du mit verschiedene Methoden?
Ich dachte eigentlich an sowas wie:
SELECT username FROM user_table WHERE id='1';
Ist das falsch??? :-(
Und auf id kommt ein index beim erstellen.
Ungefähr so: index(id)
Oder wäre es besser wenn nur die ersten 5 Ziffern von id einen Index haben. Ich weiß nicht, ob das bei int geht. Ich meine so wie bei Usernamen (wo ich's ja ab jetzt nicht mehr brauche :-) ):
un varchar(20), index(un(10))
Da fällt mir gleich noch was ein. Bei mir heißen die einzelnen Spalten
anstatt "username" zb: "un"
oder anstatt "zeit_des_login" zb: "z"
Ist das zuviel Platz gespart, oder sowieso sinnlos, weil es gar keinen Platz verbraucht? Oder hab ich endlich mal was richtig gemacht?? *Daumen drück*
Ich glaub ich hab schon viel gelernt!
Aber es gibt wohl noch seeeeehhhhrr viel mehr, was ich lernen muß!Beides erscheint mir richtig, und ich glaube nicht, dass Du mit Letzterem große Schwierigkeiten haben wirst.
DANKE, das ist nett!
Hoffentlich hast Du Recht!
Kathrin