id erhöhen immer?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
attribut
benutzer
datenbank
datenschutz
entstehen
gebiet
mache
menge
pfad
plattform
schleife
setzen
spalte
string
tabelle
teil
url
verzichten
vorteil
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
du gibst der id-spalte in phpmyadmin einfach auto_increment.
-
Bei neueren Versionen von PHPmyAdmin heißt das übrigend A_I...
Weiterhin musst du beachten, dass man ein auto_increment nur auf eine Apalte legen kann, die Teil eines PRIMARY Keys ist.
PS: Warum setzt du überhaupt eine ID? Normalerweise ist der Username doch eindeutig, oder willst du, dass zwei Leute den selben Namen haben können? Wenn neun, dann lass die ID weg und setz den PRIMARY auf den username. Die moderne Entwicklung in jeder Tabelle ne ID zu haben verstehe ich nicht... -
IDs werden gesetzt um größere Mengen an Datensätzen über ein numerisches Array ansprechen zu können, bspw. in einer For()-Schleife.
Es reicht im übrigen auch, wenn die UserName-Spalte den Typus Index, bzw. Unique besitzt.
Liebe Grüße
- VampireSilence
Beitrag zuletzt geändert: 3.5.2009 16:17:21 von vampiresilence -
Man kann sich natürlich auch überlegen, auf das auto_increment zu verzichten und eine Funktion schreiben, die die IDs selbst vergibt und festlegt. Das ist unter Umständen hilfreich, wenn ein User gelöscht wurde und die ID dann wieder frei wird. Diese wird dann bei auto_increment aber nicht mehr vergeben.
-
@vampiresilence:
Wenn man mit MySQL in Verbindung mit PHP arbeitet, setzt man meist auf mysql_fetch_assoc. Das man ein numerisches Array erstellt ist eher selten zu sehen, bei einer User-Tabelle ist das aber sicher nicht von nöten... weiterhin kann man in Arrays auch strings als keys setzen und diese mit einer foreach-Schleife durchlaufen. Die ID ist wirklich nur dann nötig, wenn es keinen anderen Kandidatschlüssel gibt. -
ID's sind deswegen praktisch, da sie wenig Platzverbrauchen und man so Benutzerdateien wie Avatare schnell und einfach zuordnen kann ohne das für Unix/Linux Syteme nicht sichere Dateinamen entstehen und so der Username unabhängig von der Plattform bleibt. Außerdem ist es so möglich den Datenschutz ein wenig zu verbesser in dem nur das aus der Datenbank geladen wird, was man auch wirklich braucht.
Klar es werden nach einiger Zeit Löcher in den IDs entstehen, aber das ist überhaupt nicht tragisch. -
strange schrieb:
ID's sind deswegen praktisch, da sie wenig Platzverbrauchen und man so Benutzerdateien wie Avatare schnell und einfach zuordnen kann ohne das für Unix/Linux Syteme nicht sichere Dateinamen entstehen und so der Username unabhängig von der Plattform bleibt. Außerdem ist es so möglich den Datenschutz ein wenig zu verbesser in dem nur das aus der Datenbank geladen wird, was man auch wirklich braucht.
Klar es werden nach einiger Zeit Löcher in den IDs entstehen, aber das ist überhaupt nicht tragisch.
Deine Argumentation ist mir nicht ganz verständilich.
Durch eine zusätzliche ID zum Usernamen wird doch mehr Platz eingenommen?
Weiterhin sollte man nicht den Avataren Benutzer zuordnen, sondern den Benutzern Avatare. Also speichert man in einem Attribut die URL oder Teile der URL zum Avatar, wobei es nicht zwangsläufig nötig ist, den Avatar nach dem User zu benennen. Das mit dem Datenschutz ist mit auch nicht ganz klar. Ob man nun mit einer ID oder mit einem Username arbeitet ist doch recht egal, was Datenschutz anbelangt. (Wenn der Username nicht gerade "IchbinHerrKeksUnd20JahreAltIchWohneInBerlin..." ist.) -
Dann mal nen kleines Beispiel. Wir nehman mal an dass Du ein Forum coden willst, um nun die Avatarabfrage möglichst einfach zu gestalten verwendet man die UserID statt eines Pfades. So ist man unabhängig von Dateistruckturveränderungen und muss bei einer Umstellung der Pfade nur eine Function ändern und nicht gleich die ganzen Profile aktualisieren.
Außerdem kann man dadurch die Datenzätze der einzelnen Beiträge verkleinern, da man nur die entsprechende UserID an den Beitrag hängen muss und somit den Usern auch erlauben kann das sie ihre Nicks ändern, ohne das dabei ein großes Kaos entsteht. Es gibt noch ne Menge mehr Vorzeile, aber die werde ich jetzt nicht extra aufzählen. Wichtig ist nur das man sich eine menge Arbeit sparen kann und vor allem eine menge Nerven. -
IDs haben meiner Meinung nach einen entscheidenen Vorteil - sie ändern sich nicht. Stell dir vor Nicknamen ändern sich. Stell dir vor du hast verschiedene Zeichentabellen nach denen du abfragst. Wenn jemand ein Sonderzeichen im Nicknamen hat, hast du unter Umständen Probleme.
IDs sind in der Masse gesehen viel kleiner - wenn du ein Spiel codest und in 30 Tabellen auf den Benutzer verwiesen wird, hast du 30 mal nen String der in der Tabelle rumirrt - mit ner ID bloß nen klitzekleines int! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage