maximum in INT veld
Voor mijn spel heb ik de twee rijen:
cash INT(32) en
bank INT(32).
Eerst waren deze echter INT(9). Telkens als er geldtransacties plaatsvonden die boven de 2.147.483.647 Zilveren Munten (de valuta op mijn spel), kreeg de andere persoon dus maar 2.147.483.647, ook al doneerde je hem/haar 10.000.000.000 en dat hoort natuurlijk niet, daarom had ik in de database de velden van INT(9) naar INT(32) gedaan, maar nu werkt het nog steeds niet? Moet ik er een BIGINT van maken of iets anders? Aan het script ligt het verder niet.
Bij voorbaat dank voor jullie hulp en een prettige zaterdagavond toegewenst,
Jonas
Een 32-bits systeem kan met binaire getallen werken van 32 cijfers lang (1 & 0). Het maximum is daarom 2.147.483.64. Daarom Gaat het niet hoger. Een INT kan max. 255 bedragen.
OK, want ik vond het al zo'n raar getal als maximum, maar moet ik er dan een BIGINT van maken of een INT(255) bijvoorbeeld?
Wanneer jij grotere waardes wilt opslaan, zul je een ander (beter passend) datatype moeten nemen.
BIGINT: 18.446.744.073.709.551.615
NUMERIC: maximaal 65 cijfers, wanneer je geen decimalen nodig hebt, is dat een flink getal.
INT is 32 bits, waarvan eentje voor het teken (tenzij je UNSIGNED gebruikt) dus die kan inderdaad maar maximaal tellen tot dat getal dat jij noemt. BIGINT is meer bits, dus dat is een goeie optie.
BIGINT($x)
$x = ?
Niks. Gewoon datatype BIGINT invullen, de rest gebeurt voor je.
SeaCrime schreef op 29.11.2008 19:18:
OK, pgFrank, dan kies ik voor BIGINT, welk getal moet ik hierachter zetten?
BIGINT($x)
$x = ?
BIGINT($x)
$x = ?
$x = 'bullshit';
pgFrank, Jezpur, Jelmer en Tommy, bedankt voor jullie hulp.
Het werkt nu weer :)
Fijn weekeinde toegewenst!