/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Sidste ID nr. - hvad så? (MySQL)
Fra : Bon


Dato : 22-01-04 19:13

Sad lige og tænkte på hvad der egentlig sker når ID nummeret max'er ud.
Det er ved 1 milliard ikke ? Er det så go'nat og starte forfra?
--
BA



 
 
Peter Brodersen (23-01-2004)
Kommentar
Fra : Peter Brodersen


Dato : 23-01-04 01:21

On Thu, 22 Jan 2004 19:12:38 +0100, "Bon" <spamshit1FJERN@mail.dk>
wrote:

>Sad lige og tænkte på hvad der egentlig sker når ID nummeret max'er ud.
>Det er ved 1 milliard ikke ? Er det så go'nat og starte forfra?

"ID-nummeret" afhænger af felt-typen.

Hvis vi taler om en (signed) int, der bruges som auto_increment, kan
den gå op til 2147483647 (lidt over 2 milliarder). Forsøger at man
indsætte noget herefter, får man:
   ERROR 1062: Duplicate entry '2147483647' for key 1
Og rækken bliver ikke indsat.

En unsigned int kan gå op til 4294967295, og er det ikke nok, kan man
bruge en unsigned bigint, der går op til 18446744073709551615.

Fra MySQL 4.1.0 er "SERIAL" i øvrigt et alias for "BIGINT NOT NULL
AUTO_INCREMENT UNIQUE", når man opretter en tabel.

--
- Peter Brodersen

Ugens sprogtip: jeres (og ikke Jeres)

Jesper Hansen (23-01-2004)
Kommentar
Fra : Jesper Hansen


Dato : 23-01-04 11:11

On Fri, 23 Jan 2004 01:20:33 +0100, Peter Brodersen <usenet@ter.dk>
wrote:

>Hvis vi taler om en (signed) int, der bruges som auto_increment, kan
>den gå op til 2147483647 (lidt over 2 milliarder). Forsøger at man
>indsætte noget herefter, får man:
>   ERROR 1062: Duplicate entry '2147483647' for key 1
>Og rækken bliver ikke indsat.

Dvs når databasen med ens venner overstiger 2 milliader, går det galt


Med venlig hilsen
Jesper Hansen

Bon (23-01-2004)
Kommentar
Fra : Bon


Dato : 23-01-04 16:35

"Peter Brodersen" <usenet@ter.dk> skrev i en meddelelse
news:buppck$ag4$1@dknews.tiscali.dk...
> Hvis vi taler om en (signed) int, der bruges som auto_increment, kan
> den gå op til 2147483647 (lidt over 2 milliarder). Forsøger at man
> indsætte noget herefter, får man:
> ERROR 1062: Duplicate entry '2147483647' for key 1
> Og rækken bliver ikke indsat.
>
> En unsigned int kan gå op til 4294967295, og er det ikke nok, kan man
> bruge en unsigned bigint, der går op til 18446744073709551615.
>
> Fra MySQL 4.1.0 er "SERIAL" i øvrigt et alias for "BIGINT NOT NULL
> AUTO_INCREMENT UNIQUE", når man opretter en tabel.

Takker for infoen. Så har jeg lidt albuerum at gøre godt med endnu.
--
BA



Jesper Stocholm (23-01-2004)
Kommentar
Fra : Jesper Stocholm


Dato : 23-01-04 16:54

Bon wrote :

> "Peter Brodersen" <usenet@ter.dk> skrev i en meddelelse
> news:buppck$ag4$1@dknews.tiscali.dk...
>> Hvis vi taler om en (signed) int, der bruges som auto_increment, kan
>> den gå op til 2147483647 (lidt over 2 milliarder). Forsøger at man
>> indsætte noget herefter, får man:
>> ERROR 1062: Duplicate entry '2147483647' for key 1
>> Og rækken bliver ikke indsat.
>>
>> En unsigned int kan gå op til 4294967295, og er det ikke nok, kan man
>> bruge en unsigned bigint, der går op til 18446744073709551615.
>>
>> Fra MySQL 4.1.0 er "SERIAL" i øvrigt et alias for "BIGINT NOT NULL
>> AUTO_INCREMENT UNIQUE", når man opretter en tabel.
>
> Takker for infoen. Så har jeg lidt albuerum at gøre godt med endnu.

Hvad skal du bruge dette id til? Hvis det er for at kunne sortere, så
kunnet det i stedet gøres med et timestamp - hvis det er for at kunne
identificere unikt, så kunne du jo også indsætte en tilfældig værdi i
feltet.

--
Jesper Stocholm
http://stocholm.dk

Gør Christiania en tjeneste og køb din hash et andet sted.

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408509
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste