mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 20.04.2024 03:08 Benutzername: Passwort: Auto-Login

Thema: [MySQL] auto_increment anpassen nach Löschen von Datensätzen vom 22.10.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [MySQL] auto_increment anpassen nach Löschen von Datensätzen
Seite: 1, 2  Weiter
Autor Nachricht
Sluggy
Threadersteller

Dabei seit: 11.02.2005
Ort: Dortmund
Alter: -
Geschlecht: Männlich
Verfasst So 22.10.2006 09:23
Titel

[MySQL] auto_increment anpassen nach Löschen von Datensätzen

Antworten mit Zitat Zum Seitenanfang

Hallo!

Ich nutze gezwungenermaßen MySQL 4.0.24 und phpMyAdmin 2.4.0. In späteren Versionen kann man - soweit ich mich erinner - mit phpMyAdmin den auto_increment-Wert den tatsächlichen Datensätzen anpassen.

Da ich einige Datensätze gelöscht habe, muss ich ihn nunmehr manuell anpassen.

Kennt jemand den SQL-Befehl?


Zuletzt bearbeitet von Sluggy am So 22.10.2006 09:25, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht: Männlich
Verfasst So 22.10.2006 09:59
Titel

Antworten mit Zitat Zum Seitenanfang

Den auto_increment-Wert anzupassen bringt gar nichts, und man sollte es auch nicht machen.
Stell dir vor Du oder jemand anderes verweist in seinen Daten auf deine ID 18, wenn der Daten
taucht die ID 18 jetzt mit nem ganz anderen Datensatz wieder auf gibts da schnell Probleme.

Es ist einfach sauberer die IDs immer weiter hoch zu zählen, egal wie viele Datensätze
inzwischen gelöscht wurden.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Sluggy
Threadersteller

Dabei seit: 11.02.2005
Ort: Dortmund
Alter: -
Geschlecht: Männlich
Verfasst So 22.10.2006 12:26
Titel

Antworten mit Zitat Zum Seitenanfang

tacker hat geschrieben:
Den auto_increment-Wert anzupassen bringt gar nichts, und man sollte es auch nicht machen.
Stell dir vor Du oder jemand anderes verweist in seinen Daten auf deine ID 18, wenn der Daten
taucht die ID 18 jetzt mit nem ganz anderen Datensatz wieder auf gibts da schnell Probleme.

Es ist einfach sauberer die IDs immer weiter hoch zu zählen, egal wie viele Datensätze
inzwischen gelöscht wurden.


Es bringt ne Menge in meinem Fall, da ich "saubere" Daten in SPSS übernehmen muss. Die von mir gelöschten Datensätze sind lediglich Testdurchläufe und keine gültigen Werte einer Versuchsperson. Und so ganz unwichtig kann es ja nicht sein, denn in neueren phpMyAdmin - Versionen ist diese Operation ja auch auf Knopfdruck möglich. Dennoch danke!
  View user's profile Private Nachricht senden
schachbrett

Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst So 22.10.2006 12:27
Titel

Antworten mit Zitat Zum Seitenanfang

ALTER TABLE name_deiner_tabelle AUTO_INCREMENT=neuer_wert;

Ueberleg dir aber wirklich, ob du es benoetigst... du kannst deine Daten damit leicht durcheinander bringen Au weia!

Gruss
  View user's profile Private Nachricht senden
darkGFX

Dabei seit: 21.11.2005
Ort: Bayern
Alter: -
Geschlecht: Männlich
Verfasst So 22.10.2006 12:37
Titel

Antworten mit Zitat Zum Seitenanfang

Etwas umständlicher aber vielleicht eine Lösung!

Wenn man einen Datensatz löscht kann man doch die ID in einer zusätzlichen Tabelle speichern. Wenn man dann einen neuen Datensatz speichert, wählt man zuerst eine ID aus dieser zusätzlichen Tabelle und schreibt sie dann ohne Probleme in die echte Tabelle.

Geht das vielleicht so? Damit wäre auch keine Gefahr da, dass Daten überschrieben werden. Aber man müsste die ID dann auch aus der zusätzlichen Tabelle löschen.

Ich bin kein Profi, aber so müsste es doch gehen oder?


Zuletzt bearbeitet von darkGFX am So 22.10.2006 12:38, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Sluggy
Threadersteller

Dabei seit: 11.02.2005
Ort: Dortmund
Alter: -
Geschlecht: Männlich
Verfasst So 22.10.2006 12:55
Titel

Antworten mit Zitat Zum Seitenanfang

schachbrett hat geschrieben:
ALTER TABLE name_deiner_tabelle AUTO_INCREMENT=neuer_wert;

Ueberleg dir aber wirklich, ob du es benoetigst... du kannst deine Daten damit leicht durcheinander bringen Au weia!

Gruss



Danke dir!! Das habe ich gesucht. Ich werde deinen Rat in jedem Fall beherzigen und vorsichtig sein.

Allen noch einen schönen Sonntag!!!
  View user's profile Private Nachricht senden
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht: Männlich
Verfasst So 22.10.2006 18:17
Titel

Antworten mit Zitat Zum Seitenanfang

FINGER WEG VON IDs!

wenn du fortlaufende nummern willst, mach das in einer extra spalte und nicht in der spalte in der auto_increment keys enthalten sind.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
alien

Dabei seit: 06.07.2006
Ort: aus der Phantasie
Alter: -
Geschlecht: Männlich
Verfasst Sa 19.05.2012 13:06
Titel

Antworten mit Zitat Zum Seitenanfang

Hi,

ich habe diesen Beitrag über Google gefunden und möchte dieses Thema erneut aufgreifen.

Was kann man denn tun, wenn man nur einzelne Datensätze innerhalb einer Tabelle löschen möchte und sich AUTO-INCREMENT automatisch zurücksetzen soll?

Beispiel:

[0] Eintrag 1
[1] Eintrag 2 <- diesen Eintrag löschen
[2] Eintrag 3

(Wunsch) Ergebnis:

[0] Eintrag 1
[1] Eintrag 3

Bisher habe ich die Anweisungen ALTER TABLE und TRUNCATE gefunden. Allerdings löschen diese alle Datensätze innerhalb einer Tabelle und setzen erst dann AUTO_INCREMENT zurück.
  View user's profile Private Nachricht senden
 
Ähnliche Themen [mySQL] Datensätze löschen
MySQL: Bereich von x bis y löschen
file vom server löschen mit mysql
[MySQL] Probleme bei Abfrage/Löschen aus Verbindungstabelle
MySQL & PHP: Webseiten Inhalt nach Artikel Typ anpassen
[PHP&MySQL]mehrere Einträge via "checkbox" löschen
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.