# Größe auto increment ID?



## Guest (6. Mrz 2006)

Hallo,

ich habe in meiner DB eine Spalte die je Eintrag automatisch immer um 1 erhöt wird. Wo liegt das Limit dieser Zahl und was passiert wenn dieses überschritten wird?


----------



## AlArenal (6. Mrz 2006)

Siehe Datentyp der Spalte und Handbuch der DB.


----------



## Gast (6. Mrz 2006)

OK, Datantyp ist ein double, aber was passiert wenn dieser überläuft?


----------



## AlArenal (6. Mrz 2006)

Gast hat gesagt.:
			
		

> OK, Datantyp ist ein double, aber was passiert wenn dieser überläuft?



Das steht im Handbuch, wie ich bereits schrieb. Unglücklicherweise erwähntest du nicht um welche DB es geht. Bei MySQL 4 stehts in Kapitel 7.2.1 "Numerische Datentypen".


----------



## Gast (6. Mrz 2006)

ich nutze MySQL 5


----------



## AlArenal (6. Mrz 2006)

Und was haben deine Tests ergeben?



			
				Die glorreiche Online-Doku zu MySQL 5.0 hat gesagt.:
			
		

> When asked to store a value in a numeric column that is outside the data type's allowable range, MySQL's behavior depends on the SQL mode in effect at the time. For example, if no restrictive modes are enabled, MySQL clips the value to the appropriate endpoint of the range and stores the resulting value instead. However, if the mode is set to TRADITIONAL, MySQL rejects a value that is out of range with an error, and the insert fails, in accordance with the SQL standard.
> 
> In non-strict mode, when an out-of-range value is assigned to an integer column, MySQL stores the value representing the corresponding endpoint of the column data type range. If you store 256 into a TINYINT or TINYINT UNSIGNED column, MySQL stores 255 or 127, respectively. When a floating-point or fixed-point column is assigned a value that exceeds the range implied by the specified (or default) precision and scale, MySQL stores the value representing the corresponding endpoint of that range.


----------



## Gast (6. Mrz 2006)

DOUBLE 8 Bytes

Fließkommazahl, vorzeichenbehaftet. Wertebereich von ~ -1,798^308 bis ~ -2,225^-308, 0 und ~ 2,225^-308 bis ~ 1,798^308

hmmm, so weit hab ich noch nicht hoch gezählt - bei einem INT z.B. wird dann der höhere Werte auf die höchste Stelle von INT abgeschnitten und da eingefügt, oder es kommt zu einer Fehlermeldung, naja - ich werde wohl ab einem bestimmten "Alter" die Zeilen löschen und dann neu einfügen

THX


----------



## AlArenal (6. Mrz 2006)

Ich weiß ich nerve, aber warum zum Teufel ist deine Spalte eine Fließkommazahl?


----------



## Gast (6. Mrz 2006)

Hast natürlich vollkommen recht, für die ID reicht natürlich INT oder BIGINT


----------

