[mysql]id zurücksetzten

  1. borsti

    borsti Thread StarterMacUser Mitglied

    Mitglied seit:
    16.08.2005
    Beiträge:
    113
    Zustimmungen:
    1
    hi, also ich habe folgendes problem:

    eine datenbank bei der die fortlaufende id (durch bearbeiten, löschen, etc) nun bei 9 beginnt, die nächste ist 12 und so weiter.

    Nun wollte ich fragen ob man die irgendwie zurücksetzten kann, so das die id des ersten eintrages (bei mir 9) eins ist, der zweite zwei und so weiter?

    ich hoff ihr versteht was ich mein.

    schöne grüße
     
    borsti, 11.09.2005
  2. Yankee

    YankeeMacUser Mitglied

    Mitglied seit:
    27.02.2004
    Beiträge:
    155
    Zustimmungen:
    0
    Soweit ich weiß ist das nicht möglich. Der Grund dafür ist, dass es bei einer ordentlichen Anwendung nicht nötig ist ;)
    Schreib einfach mal genauer, wo Dein Problem ist, bzw warum Du die ID zurücksetzen möchtest. Dann lässt sich sicher eine elegantere Lösung als das Aushebeln von MySQL-Mechanismen finden.
     
    Yankee, 11.09.2005
  3. dms

    dms

    Spalte löschen und neu anlegen schreibt alle ID's neu.

    ALTER TABLE tabelle DROP COLUMN id;
    ALTER TABLE tabelle ADD COLUMN (id INT AUTO_INCREMENT, PRIMARY KEY (id));

    Geht sicher auch in einem einfachen UPDATE-Query, sofern Subquerys verfügbar sind (ab 4.1)

    In einer fertigen Anwendung ist sowas meiner Meinung nach auch nicht zu gebrauchen. Beim Testen finde ich sowas aber auch manchmal recht hilfreich.
     
  4. Jakob

    JakobMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    Das kann man machen? Meckert die DB nicht, wenn dadurch dann zwei Einträge identisch werden (sie sich nur durch die ID unterschieden)?
     
    Jakob, 12.09.2005
  5. Gunter_S

    Gunter_SMacUser Mitglied

    Mitglied seit:
    15.03.2004
    Beiträge:
    147
    Zustimmungen:
    3
    nein, warum sollte MySQL dadurch meckern? Nach außen hin kann man die Einträge vielleicht in dem Moment (also wenn die eine Spalte gelöscht ist) nicht mehr unterscheiden, aber MYSQL kennt ja die einzelnen Datensätze und wenn man nun die Spalte erneut anlegt (mit primary_key und auto_increment) dann kann man die einträge hinterher auch wieder von außen unterscheiden.

    Allerdings frage ich mich auch, was dieses "zurücksetzen" für einen Sinn machen sollte. Es ist ja eben der Trick, dass die Datenbank nicht alle anderen Einträge ändern muss wenn man einen Eintrag hinzufügt. Und eine ID sollte man ja eh nur benutzen um die Einträge innerhalb des Programms/der Webseite anzusprechen.
     
    Gunter_S, 12.09.2005
  6. borsti

    borsti Thread StarterMacUser Mitglied

    Mitglied seit:
    16.08.2005
    Beiträge:
    113
    Zustimmungen:
    1
    danke, vielen dank für die schnellen antworten.
    werde alles mal ausprobieren.

    grüße
     
    borsti, 12.09.2005
Die Seite wird geladen...
Ähnliche Themen - [mysql]id zurücksetzten
  1. malah
    Antworten:
    3
    Aufrufe:
    1.152
    beatles
    10.02.2017
  2. beatles
    Antworten:
    4
    Aufrufe:
    444
  3. Hausbesetzer
    Antworten:
    7
    Aufrufe:
    975
    Deine Mudda
    27.04.2016
  4. xenon96
    Antworten:
    2
    Aufrufe:
    580
    xenon96
    27.06.2015