oskobMedlem sedan maj 20021 558 inlägg Hej!
Jag har en tabell som tar emot en stor mängd data. Lite då och då läses tabellen av och all ny data kopieras över till en annan tabell och all data som är över en månad gammal tas bort. Detta gör ju att primärnyckeln kommer stiga hela tiden, även om tabellen inte innehåller mer än kanske 100 000 rader.
Finns det något smart sätt att nollställa primärnycklarna utan att ta bort all data?
En int(20) som håller primärnyckeln kan väl innehålla heltal upp till en miljon ungefär? När man kommit dit har ju rader med ID = 1 och en bra bit frammåt tagits bort för länge sedan. Kan man då säga att nästa auto_increment ska bli 1, även om det finns högre nycklar i tabellen på något sätt?
Tack på förhand!
@ndersMedlem sedan juni 200032 969 inlägg En integer i MySQL kan lagra mycket större tal än så.
http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
Det finns ingen anledning att återanvända.
mvh
oskobMedlem sedan maj 20021 558 inlägg Oj vad dum jag är! Jag täntke att en int(20) var 20 bit men det är ju 20 byte!
LarsGMedlem sedan dec. 200012 464 inlägg I Mysql så är int alltid 4 byte. Även du anger Int(20) så används 4 byte för att lagra värdet.
oskobMedlem sedan maj 20021 558 inlägg Jag måste alltså ändra till bigint?
@ndersMedlem sedan juni 200032 969 inlägg Maxvärdet för en unsigned int är 2147483647 enligt länken ovan.
Räcker inte det?
oskobMedlem sedan maj 20021 558 inlägg Det handlar ju om kanske en 10 000 rader per dag så det är väl skönt med lite headroom. Det lär väl inte vara så påfrestande att köra bigint istället för int?
Fattar den själv om det är unsignet eller signet int eller måste jag ange det någonstans?
colioneMedlem sedan juni 20014 421 inlägg du väljer unsigned under attributes i phpmyadmin.
The_HulkMedlem sedan juni 20031 837 inlägg Min/max värde för unsigned/signed int är följande
Typ Min Max
unsigned 0 4294967295
signed -2147483648 2147483647
Så om du får 10 000 poster per dag så klarar du dig iaf i 200 000 dagar innan du behöver oroa dig för att räknare tar slut :D
oskobMedlem sedan maj 20021 558 inlägg Oj ja det var ju en stund!
Tack för alla svar!