webForumDet fria alternativet

Begränsningar

5 svar · 371 visningar · startad av slow

slowMedlem sedan apr. 2004148 inlägg
#1

Vad har mySql för begränsningar. Hur många rader kan man ha ifall man kör med integertyp INT ? Vet att det ligger på 147 eller liknande med tinyint iaf...

@ndersMedlem sedan juni 200026 914 inlägg
#2

Du kan ha i stort sett hur många "rader" som helst om du använder INT. Pratar du om autonumber / autoincrement så kan du ha drygt 2,1 miljarder poster innan du råkar på problem om du kör signed.

http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

Som du ser är det 127 som gäller för tinyint, inget annat.

Flyttas från SQL

M.CheraghiMedlem sedan juli 20013 362 inlägg
#3

Vad händer efter 2,1 miljarder?
Hur står sig Access och MSSQL med Autonumber?

@ndersMedlem sedan juni 200026 914 inlägg
#4

När räknarfältet når sin gräns blir det krasch. Men då har man ju bigint att välja på också. ;-)

I Access har datatypen "långt heltal" (long integer) samma gräns som Int i MySQL.

http://www.functionx.com/access/Lesson11.htm

Microsoft SQL Server har datatyper som motsvarar de i MySQL.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_da-db_7msw.asp

UlfTMedlem sedan maj 20016 050 inlägg
#5

M.Cheraghi skrev:

Vad händer efter 2,1 miljarder?

Gissningsvis rör det sig om 32-bitars-tal. Då går det inte att ha större än så (om det inte är unsigned).

@ndersMedlem sedan juni 200026 914 inlägg
#6

Gissningsvis rör det sig om 32-bitars-tal.

Precis. En integer är ett 32-bitarstal (tar upp 4 bytes alltså), och bigint är ett 64-bitarstal.

Unsigned passar dock bra för räknarvärden, eftersom det oftast handlar om endast positiva tal, och då kan man ju skrämma upp en integer till det dubbla.

mvh

Genererad på 359 ms · cache AV · v20260730165559-full.f96bc7eb