Mailinglisten-Archive |
On Tue, Apr 17, 2001 at 02:38:38PM +0100, Bernd Schulz wrote: > > Fehler beim Speichern des Datensatzes ->Duplicate entry '2147483647' > for key 1 Du hast einen (signed) Integer als Auto-Increment-Spalte, und versuchst gerade den "2G-sten" Eintrag in die Tabelle zu machen. MySQL inkrementiert den Wert dann nicht mehr, sondern versucht das anhand des Datentyps maximal moegliche noch einmal einzutragen. Deklariere die Spalte als unsigned Integer, dann hast Du bei gleichem Speicherbedarf Platz fuer doppelt so viele Eintraege. Aber auch ein unsigned Integer hat seine Grenze (eben 4G ~ 4 Milliarden). Einen unendlich grossen Datentyp gibts in MySQL (und allen andern mir bekannten Datenbanken) nicht, daher kann dir das gleiche je nach Datenaufkommen immer wieder passieren. Weitere Infos zu den Datentypen, die MySQL kennt, findest Du im gleichnamigen Kapitel der MySQL Doku. Es gibt uebrigens auch eine deutschsprachige Newsgroup speziell zu MySQL (de.comp.datenbanken.mysql). Dort sind Fragen zu dem Thema angebrachter als hier. Gruss, Markus
php::bar PHP Wiki - Listenarchive