Fortlaufende ID in der Datenbank!

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
sputnik
Mitglied
Beiträge: 110
Registriert: 27.08.2003 13:10
Wohnort: Wien
Kontaktdaten:

Fortlaufende ID in der Datenbank!

Beitrag von sputnik »

Ich habe in der MySQL Datenbank eine Tabelle erstellt in der die Einträge automatisch gespeichert werden. Er zählt von 1 aufwärts, aber wenn ich zum Beispiel eines dazwischen lösche haben die anderen immer noch die selbe nummer wie vorher, aber ich möchte, dass die ID's fortlaufend sind! Geht das? Wenn ja wie?

THX, Manu!
highbiker.com
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Dann musst du beim Erstellen von neuen Einträgen sämtliche Datensätze auslesen und bei der ersten Lücke die du findest die fehlende Zahl als ID für den neuen Datensatz verwenden (was allerdings bei vielen Datensätzen recht lange dauern kann)
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Wenn ich das richtig im Kopf habe, wird der nächste AutoIncrement-Wert bei MySQL in einer Systemtabelle gespeichert. Kann's derzeit nich prüfen, aber vielleicht wäre das ein Ansatz für dich. Evtl. wird der auch mit einem Befehl zurückgesetzt.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
biototo
Mitglied
Beiträge: 803
Registriert: 10.04.2002 09:51
Wohnort: Düren - Rheinland (zw Köln u. Aachen)
Kontaktdaten:

Beitrag von biototo »

Code: Alles auswählen

ALTER TABLE dein_tabellen_name AUTO_INCREMENT = 1
gefunden hier ---> KLICK MICH mit hilfe von GOOGLE
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Das funktioniert aber nicht. Erhöhen kann man den Zähler damit, aber nicht verringern (wäre ja auch blödsinn, denn dann würde ja versucht werden, einen Eintrag mit der ID 1 zu erstellen, obwohl bereits einer existiert.)
Benutzeravatar
biototo
Mitglied
Beiträge: 803
Registriert: 10.04.2002 09:51
Wohnort: Düren - Rheinland (zw Köln u. Aachen)
Kontaktdaten:

Beitrag von biototo »

Mmh da ist was dran .... aber wenn die Tabelle aber leer ist ?? also alles rausgelöscht worden ist.
Benutzeravatar
sputnik
Mitglied
Beiträge: 110
Registriert: 27.08.2003 13:10
Wohnort: Wien
Kontaktdaten:

Beitrag von sputnik »

Mh, ich habs mir überlegt vielleicht mit PHP zu machen, dass man einfach die ID's auslesen lässt und man da irgendwie die ID's bearbeitet, aber ich denke das ist wieder mal ein gedanke von mir der sicher nicht möglich ist!
highbiker.com
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Wenn diese IDs in irgendwelchen URLs vorkommen, solltest du auf solche Spielchen sowieso verzichten, denn wenn jemand (oder eine Suchmaschine) diese URL abspeichert, du die IDs neu ordnest und dann jemand die alte Seite aufrufen will, entsteht das totale Chaos (stell dir vor, du findest in einer Suchmaschine einen Artikel über die Installation von PHP, klickst den Link an und landest bei einem Artikel über Firewalls :roll: )
Benutzeravatar
sputnik
Mitglied
Beiträge: 110
Registriert: 27.08.2003 13:10
Wohnort: Wien
Kontaktdaten:

Beitrag von sputnik »

Überredet :lol:
highbiker.com
Antworten

Zurück zu „Coding & Technik“