Tom: Duplicate entry '4294967295' for key 'PRIMARY' / Selbstverschuld

Beitrag lesen

Hello,

ich habe ein kleines und doch irgendwie großes Problem.
Ich habe eine MYSQL-Tabelle mit dem Feld ID. Das Feld ist auf auto_increment gesetzt und ist zugleich im Indizes das PRIMARY feld (sagt man das so?!). Er ist also der Primärschlüßel.

Alles lief bis ich testweiße eine ID in der Tabelle bearbeitet habe. Ich habe einfach den Wert ,,222222222222222222'' eingegeben. Darauf wurde in der DB dann ,,4294967295". Jedes mal wenn ich nun einen Eintrag hinzufügen will kommt jedes Mal der Fehler ,,Duplicate entry '4294967295' for key 'PRIMARY'''.

Wie kann ich das nun wieder rückgängig machen? Ich habe die ID schon wieder geändert. Aber der Fehler kommt trotzdem.

Es gibt eine "Mastertabelle", in der der nächste zu benutzende Primary Key steht.
Da Du durch das unkoordinierte (oder bewusst forschende *g*) Eintragen eines Wertes außerhalb des erlaubten Wertebereiches die obere Grenze erreicht hast, kann nun der Autoincrement nicht weiter hochgezählt werden.

Ist übrigens mal ein sehr interessanter Versuch zu Grenzwerten, denn IT ist ja hauptsächlich an den jeweiligen Grenzen spannend :-))

Du müsstest alle wertigen Datensätze in eine Temporärtabelle übertragen, danach die betroffene Tabelle zurücksetzen[1] und dann die Werte aus der Temporärtabelle wieder einfügen.

Das sollte der offizielle Weg sein, das Problem zu lösen.

[1] Es ist ein Unterschied, wie Du das delete-Statement benutzt oder ob Du gleich Truncate benutzt
http://dev.mysql.com/doc/refman/5.1/en/delete.html
http://dev.mysql.com/doc/refman/5.1/en/truncate-table.html

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de