Avatar billede super-mann Juniormester
28. juli 2006 - 22:30 Der er 8 kommentarer og
1 løsning

MySQL og "afkrydsningsfelter"

Kan man lave "afkrydsningsfelter" i MySQL som man f.eks. kan i Microsoft Access Database (her hedder feltet "Ja/Nej").

Hvis ja, hvordan (hvad hedder felttypen/datatypen) i MySQL ?


// super-mann
Avatar billede pidgeot Nybegynder
28. juli 2006 - 22:35 #1
Til dels - du kan sætte et felt til datatypen BIT, hvilket svarer til det samme, men med 1 og 0 som hhv. sand og falsk - men den er i visse versioner blot en TINYINT(1), og derfor vil du i disse ikke have kontrol på om der kunne stå andet.

Du kan også lave en ENUM('Ja','Nej'), men så skal du selv konvertere til og fra dette og til 1 og 0/sand og falsk.
Avatar billede super-mann Juniormester
28. juli 2006 - 22:38 #2
pidgeot --> Hvad vil du mene, er det smarteste? Lyder til, du hæler lidt til din første tanke?
Avatar billede pidgeot Nybegynder
28. juli 2006 - 22:45 #3
Det er generelt det smarteste at bruge 0 og 1, da de fleste (hvis ikke alle?) sprog har defineret de to som netop disse (teknisk set er alt andet end 0 sandt, men man plejer normalt at bruge 1). Derfor vil det være mindre arbejde i længden at bruge 0 og 1, fordi du ikke skal skifte frem og tilbage konstant - og samtidigt er det også mindre arbejde for computeren, fordi du ofte kan bruge værdien direkte.
Avatar billede super-mann Juniormester
28. juli 2006 - 22:46 #4
Okay, så fik jeg også sat noget forklaring på.. Tak for hjælpen og god weekend!
Avatar billede super-mann Juniormester
28. juli 2006 - 22:49 #5
pidgeot --> Synes dog ikke at jeg har feltet "BIT" i min MySQL database. Har noget der hedder "bigint" der ligner.
Avatar billede pidgeot Nybegynder
28. juli 2006 - 22:59 #6
PMA har ikke BIT i dens type-liste (vist nok fordi det ofte er det samme som TINYINT(1)), så du må enten selv lave den om bagefter, eller bruge en TINYINT(1).

Mig bekendt er der ingen egentlig pladsbesparelse ved at bruge en BIT fremfor en TINYINT, så det vil ikke gøre nogen egentlig forskel - udover at der vil kunne stå eks. 2 i feltet, men det kan du jo håndtere fra din kode.
Avatar billede Slettet bruger
28. juli 2006 - 23:00 #7
Måske en, der hedder BOOL?
Avatar billede super-mann Juniormester
28. juli 2006 - 23:05 #8
sandbox --> Har en som hedder "Bool" ja - er det den funktion?
Avatar billede super-mann Juniormester
28. juli 2006 - 23:09 #9
Bool laver den automatisk om til tinyint(1) - altså som pidgeot nævner her 28/07-2006 22:59:40. Super, så kom der vist styr på det hele

Tak til jer begge for lidt ekstra hjælp :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester