mysql: Datensätze löschen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Stuff0r, 5. Dezember 2005 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 5. Dezember 2005
    Hallo erstmal...

    Ich möchte aus einer mysql-Datenbank einen Datentensatz (bzw. zeile) löschen.

    Code:
    Array ( [ID] => 1 [Titel] => ggfhhf [Inhalt] => ooopppppp [Datum] => 2005-12-05 14:43:56 [Autor] => du ) 
    
    Array ( [ID] => 2 [Titel] => ggfhhf [Inhalt] => ooopppppp [Datum] => 2005-12-05 14:44:18 [Autor] => du ) 
    
    Array ( [ID] => 3 [Titel] => ggfhhf [Inhalt] => ooopppppp [Datum] => 2005-12-05 14:44:18 [Autor] => du ) 
    Das löschen der 2en Zeile ist jetzt nicht das problem, die ID macht mir kopfzerbrechen.
    Denn mit: DELETE FROM test WHERE id='2'
    wird zwar die 2e Zeile gelöscht aber der Index (ID) rutscht nicht auf:

    Code:
    Array ( [ID] => 1 [Titel] => ggfhhf [Inhalt] => ooopppppp [Datum] => 2005-12-05 14:43:56 [Autor] => du ) 
    
    Array ( [ID] => 3 [Titel] => ggfhhf [Inhalt] => ooopppppp [Datum] => 2005-12-05 14:44:18 [Autor] => du ) 
    jetzt habe ich geschafft die ID aufzurücken mit der UPDATE funktion:

    Code:
    Array ( [ID] => 1 [Titel] => ggfhhf [Inhalt] => ooopppppp [Datum] => 2005-12-05 14:43:56 [Autor] => du ) 
    
    Array ( [ID] => 2 [Titel] => ggfhhf [Inhalt] => ooopppppp [Datum] => 2005-12-05 14:44:18 [Autor] => du ) 
    Aber wenn ich dann einen neuen Datensatz hinzufüge passier folgendes:

    Code:
    Array ( [ID] => 1 [Titel] => ggfhhf [Inhalt] => ooopppppp [Datum] => 2005-12-05 14:43:56 [Autor] => du ) 
    
    Array ( [ID] => 4 [Titel] => ggfhhf [Inhalt] => ooopppppp [Datum] => 2005-12-05 14:43:56 [Autor] => du ) 
    
    Array ( [ID] => 2 [Titel] => ggfhhf [Inhalt] => ooopppppp [Datum] => 2005-12-05 14:44:18 [Autor] => du ) 
    Wie kann ich die ID bzw den Primary key bzw. AUTO_INCREMENT auch um eine Einheit verkleinern (zB auf 2 Setzen, so das er beim neu einfügen dann wieder auf 3 gesetzt wird) der Rest ist dann ja nurnoch sortieren.

    ISt ein bisl komplex, aber ich hoffe das ich das somit verdeutlicht habe was ich meine.

    Ich bedanke mich schon mal im vorraus für eure hilfe, und wenn ihr irgendwas postet, was mich zum erfolg führt hab ich auf jeden einen 10er sicher (kann ja leider kein zwanni verteiln

    mfG Stuffor

    edit: sry für den Bedankomat, hab leider den Haken übersehen
     
  2. 5. Dezember 2005
    meine idee ist einbisschen gefährlich!!!! auf jedenfall muss deine datenbank konsitenz sein.
    man kann doch einfach select count(*) from tab; dann hast du die anzahl der spalten. und diesen wert nimmst du einfach in die insert-funktion mit rein.
     
  3. 5. Dezember 2005
    das problem liegt ja im Index, den müßt ich einfach nur runtersetzen.

    aber trotzdem danke, werds mal versuchen.
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.