webForumDet fria alternativet

0 blir 255, -1 blir 0

ASP

3 svar · 257 visningar · startad av leniz

Medlem sedan aug. 2001676 inlägg
Frågan#1

Hej!

Har en mysql databas där jag har ett fält angett som int(11). Där sparar jag värdena 0 (nej/false) och -1 (ja/true). När jag tittar i databasen står det alltså 0 och -1 i posterna för detta fält.

Men när jag skriver ut värdena så blir det helt andra värden! 0 skrivs ut som 255 och -1 som 0. Hur är detta möjligt???

Mvh Lena

Medlem sedan aug. 20039 340 inlägg
#2

Då har du nog förstått det hela fel. Det var nog så att 0 skrevs ut som 0 och -1 som 255.
För en byte så motsvarar numren 128-255 numren -127-(-1). Detta är ett resulltat av hur data lagras i en dator.
Finns det för övrigt ingen boolean-typ, som är mer anpassad för att hålla ett true/false-värde?

Medlem sedan dec. 20003 563 inlägg
#3

smallint(1) är datatypen som rekommenderas för boolsk data i mysql.

Medlem sedan aug. 2001676 inlägg
#4

cyprys skrev:

smallint(1) är datatypen som rekommenderas för boolsk data i mysql.

Hej!
Såg att jag skrev fel här i mitt meddelande. Datatypen jag hade satt är tinyint(4).
När jag ändrade till smallint fungerade det toppen :)
Tack!
/Lena

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
114 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)