Avatar billede foxmulder58 Praktikant
11. december 2005 - 19:42 Der er 13 kommentarer og
1 løsning

VARCHAR hvad betyder det?

Hej eksperter,

Jeg ser ofte et felt har værdien "VARCHAR" men hvad betyder dette?


mvh
Mads
Avatar billede foxmulder58 Praktikant
11. december 2005 - 19:45 #1
jeg kune godt tænke mig tat få denne SQL-sætning forklaret:

varchar(200) NOT NULL default


mvh
Mads
Avatar billede jensgram Nybegynder
11. december 2005 - 19:51 #2
Det betyder, at der afsættes op til 200 tegns plads i hukommelsen (men modsat CHAR "låses" de ikke) - NOT NULL = Må ikke være "usat".
Avatar billede foxmulder58 Praktikant
11. december 2005 - 19:53 #3
Kan du forklare det i lægmands termer. jeg har lidt svært ved at forstår helt præcis hvad du mener?

betyder CHAR låst?

NOT NULL betyder det at værdien ikke kan være 0 (nul) ??
Avatar billede jensgram Nybegynder
11. december 2005 - 19:53 #4
Desuden er det en ugyldig linie, idet DEFAULT skal efterfølges af den ønskede default-værdi:

ex: <felt> VARCHAR(200) NOT NULL default ''

<felt> kan maksimalt indeholde 200 tegn (men der bruges ikke 200 tegn i hukommelsen, hvis <felt> ikke indeholder det - modsat CHAR)

<felt> må ikke sættes til NULL, men får tildelt værdien '' (tom streng), hvis ikke andet defineres.

- Jens
Avatar billede jensgram Nybegynder
11. december 2005 - 19:54 #5
Ja, det var en ret uklar formulering. Gav det næste indlæg mening?
Avatar billede foxmulder58 Praktikant
11. december 2005 - 19:55 #6
Jeg prøver at forstå følgende SQL sætning:

CREATE TABLE `nyhedssystem` (
  `overskrift` varchar(200) NOT NULL default '',
  `beskrivelse` varchar(200) NOT NULL default '',
  `nyhed` varchar(200) NOT NULL default ''
) TYPE=MyISAM;



mvh
Mads
Avatar billede jensgram Nybegynder
11. december 2005 - 19:55 #7
NULL er ikke et 0 - heller ikke en tom streng, men derimod en decideret - ja, hvad skal man sige - nul-værdi. Det betyder, at feltet ikke er sat. Det er lidt svært at forklare (eller; det er det sikkert ikke, men jeg kan ikke).
Avatar billede foxmulder58 Praktikant
11. december 2005 - 19:56 #8
jeg er ikke helt sikke på hvad der menes med "feltet er ikke sat" ?
Avatar billede jensgram Nybegynder
11. december 2005 - 19:58 #9
Din SQL-sætning opretter blot de tre attributter (overskrift, beskrivelse og nyhed) som tekst-felter, der maksimalt kan indeholde 200 tegn, er tomme, hvis ikke andet defineres og ikke må være NULL.

Ex:

INSERT INTO nyhedssystem (overskrift, nyhed) VALUES ('hej', 'lala') - Er OK (beskrivelse vil være en tom streng).

INSERT INTO nyhedssystem (overskrift, beskrivelse. nyhed) VALUES ('hej', NULL, 'lala') vil derimod fejle, da ingen attributter må være NULL.
Avatar billede jensgram Nybegynder
11. december 2005 - 19:58 #10
Tolk det som, at feltet ikke har nogen værdi (intet tal, ingen streng, bare NULL).
Avatar billede foxmulder58 Praktikant
11. december 2005 - 20:00 #11
ok jens det gav mig lidt info.

Gider du smide et svar så du kan få point. :]

Tusind tak for hjælpen!


mvh
mads
Avatar billede jensgram Nybegynder
11. december 2005 - 20:05 #12
!
Avatar billede jensgram Nybegynder
11. december 2005 - 20:06 #13
Takker
Avatar billede foxmulder58 Praktikant
11. december 2005 - 20:07 #14
Selv tak! ...så blev jeg lidt klogere på emnet, jeg skal lige have styr på MySQl og PHPMyAdmin.  :]
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