phpbar.de logo

Mailinglisten-Archive

[php] mysql Fehlermeldung

[php] mysql Fehlermeldung

Markus Dobel php_(at)_phpcenter.de
Tue, 17 Apr 2001 15:17:39 +0200


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