Veröffentlicht 1. Dezember 201014 j Hallo, ich bin neu hier und hab auch gleich ein Problem. In meiner Sql Datenbank habe ich eine abfrage und die Nummerierung soll bei 1 losgehen und dann weiterfolgen mit 2 3 4 usw. wenn ich in einer Tabelle z.B. schon eingaben habe 1 2 3 und dann die 2 lösche, soll die 3 automatisch zur 2 werden und ein neuer eintrag dann die 3. Jedoch wenn ich nun z.B. die 2 lösche bleibt die 3 stehen und der neue eintrag geht mit 4 weiter. Das gleiche ist wenn ich eintrag 1 2 3 habe und 2 und 3 lösche dann wird der neue eintrag auch mit 4 eingetragen. hier mein Sql script und das php Script $query= "SELECT Terminnr,Termin,Datum,Ort,Beschreibung FROM termine ORDER BY terminnr"; $ergebnis=mysql_query($query, $verbindung); if(!$ergebnis) echo mysql_error(); $terminnr=array(); $termin=array(); $datum=array(); $ort=array(); $beschreibung=array(); $i=0; while($zeile=mysql_fetch_array($ergebnis)) { $terminnr[$i]=$zeile[0]; $termin[$i]=$zeile[1]; $datum[$i]=$zeile[2]; $ort[$i]=$zeile[3]; $beschreibung[$i]=$zeile[4]; $i++; } mysql_free_result($ergebnis); $i=0; while($i<count($beschreibung)) { echo"<table width='80%' border='0' align='center'> <tr> <td width='35%'><b>$terminnr[$i]. $termin[$i]</b><br />Datum: </td><td align='left'><br /> $datum[$i]</td> </tr> <tr> <td width='35%'>Ort:</td><td align='left'> $ort[$i]</td> </tr> <tr> <th colspan='2' style='font-weight:normal;' align='left' widht='35%'><hr>$beschreibung[$i]<br /><hr><br /></th> </tr> </table>"; $i++; } mysql_close($verbindung); }[/PHP] [PHP] create table termine( Terminnr MEDIUMINT NOT NULL AUTO_INCREMENT, Termin varchar(20), Datum varchar(20), Ort varchar(20), Beschreibung Varchar(50), primary key(Terminnr) ); ich hoffe ihr könnt mir helfen. gruß Mad-House
1. Dezember 201014 j Lass die Terminnr unverändert und nummerier über dein PHP Skript. Ansonsten solltest du dir einen neuen Primärschlüssel überlegen. Primärschlüssel manuell ändern ist Murks.
1. Dezember 201014 j Das ist ein ganz normales Verhalten durch AUTO_INCREMENT. Dadurch wird verhindert, dass ein Primärschlüssels aus einem gelöschten Datensatz wieder verwendet wird. Deine Inkrementierung würde ich über eine Zählvariable innerhalb des PHP-Skripts durchführen und nicht in der Tabelle abspeichern.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.