3 messages in com.mysql.lists.mysql-deRe: Ende eines autoincrement Feldes?
FromSent OnAttachments
Stephan Hendl30 Nov 2003 23:07 
Georg Richter30 Nov 2003 23:25 
Christian Hamacher01 Dec 2003 01:07 
Subject:Re: Ende eines autoincrement Feldes?
From:Christian Hamacher (chri@epost.de)
Date:12/01/2003 01:07:52 AM
List:com.mysql.lists.mysql-de

Hallo Stephan,

Stephan Hendl schrieb:

ich habe in einer Tabelle eoin Autoincrement-Feld als int(10) vereinbart, dass sich ziemlich schnell füllt. Was passiert eigentlich wenn das Feld am überlaufen ist?

Georg hat ja schon geschrieben was passiert. Aber sollte dir die eigentlich schon riesige Zahl von 4294967295 (int unsigned) nicht reichen kannst du auch noch 'BIGINT UNSIGNED' nehmen. Das macht dann 18446744073709551615

18446744073709551615 Sekunden 18446744073709551615 / 60 = 307445734561825860 Minuten 307445734561825860 / 60 = 5124095576030431 Stunden 5124095576030431 / 24 = 213503982334601 Tage 213503982334601 / 365 = 584942417355 Jahre

Falls dein Taschenrechner das nicht mehr mit macht rechne es z.B mit php nach. echo bcdiv('18446744073709551615',(60*60*24*365));

584 Milliarden Jahre lang jede Sekunde ein auto_increement Wert sollte für alles reichen. Wenn man bedenkt das die Erde erst 4,55 Milliarden Jahre alt ist.

Gruß Christian