2.3k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von Experte (1.1k Punkte)
Hallo
Ich hab da so ein Problem:
In einer Tabelle mit, sagen wir mal 20 mitgliedern, hat sich ein Mitglied entschlossen, die Mitgliedschaft zu kündigen. Er hatte die ID 12. Mit DROP kann man nun die Zeile entfernen, allerdings hab ich dann eine PRIMARY KEY Lücke:
10 nicname pw...
11 nickname pw...
13 nickname pw...
14 nickname pw...
Das ist ziemlich unpraktisch wenn man alles in eine while-schleife ausgeben will, die mit dem PRIMARY KEY arbeitet...
Hat jemand eine Idee, wie man villeicht die IDs>12 um 1 zurücksetzt oder das Problem irgendwie anders löst?
Vielen dank,
MfG
TByte

3 Antworten

0 Punkte
Beantwortet von
0 Punkte
Beantwortet von Experte (1.1k Punkte)
Hallo
Ja, auf die Idee bin ich auch schon gekommen, aber ich kenne die MySQL- Syntax nich. Mach man das mit UPDATE oder wie?
Danke,
MfG
TByte
0 Punkte
Beantwortet von supermax Experte (4.8k Punkte)
1. Die SQL-Anweisung zum Löschen eines Datensatzes ist DELETE, mit DROP löscht man Tabellen, Spalten oder Indizes.

2. Für die Sortierung der Datensätze ist es egal, ob der Primärschlüssel "Lücken" hat; du kannst einzelne Datensätze z.B. mit
[code
$ergebnis = mysql_query("SELECT....");
]while($datensatz = mysql_fetch_array($ergebnis)) {
//... ausgeben oder sonstwie bearbeiten
}[/code]
der Reihe nach ausgeben, dabei ist es egal ob die Primärschlüssel fortlaufend 1, 2, 3,... sind oder 10, 15, 137,...
...