12. november 2002 - 14:37Der er
15 kommentarer og 1 løsning
NULL og NOT NULL
Kort spørgsmål der udløser 60 point! Hvem kan forklarer mig hvad det helt præcist står for, så jeg fatter det! er der en tommelfinger regl, ved brugen af disse...?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
NULL betyder "ikke defineret" eller ikke sat. Hvis du f.eks. ønsker at et felt ikke skal have nogen værdi kan du sætte værdien til NULL (uanset fletets type).
Hvis man laver en table med CREATE, kan man sige at i visse felter accepteres ikke en NULL-værdi (NOT NULL), dvs. feltet skal udfyldes.
Hvis du tænker på brugen i en bestemt sammenhæng, så kom med et eksempel.
Hvis du ikke ved hvad kassen/variablen skal indeholde, og ikke har en midlertidig værdi du kan tildele den, så kan man tildele den værdien NULL. Dette er godt i mange tilfælde hvor compileren brokker sig over, at variablen MÅSKE ikke er blevet initialiseret. I hvert tilfælde i Java.
Hvis du f.eks. laver en SQL-sætning der hedder "SELECT * FROM table1 WHERE abc NOT NULL", (med forbehold for simple syntaks-fejl), så får du de rækker tilbage, hvor "abc" har en værdi.
NULL betyder som tidligere nævnt, at feltet ikke er udfyldt.
Generelt er det et godt råd, altid at have NOT NULL på sine felter, da felter med NULL værdier kan forårsage mærkværdige resultater, medmindre du hver gang du tester på et felt, både tester på om feltet er <> NULL og feltet har en given værdi. PHP opfører sig dog rimelig pænt ved NULL værdier, mens Java/JSP giver en NullPointerException, hvis du kommer til at teste på et felt der er NULL.
Der er nogle få undtagelser hvor NULL værdier er praktiske eller nødvendige (bl.a. fremmednøgler), men bortset fra dem, så kan du spare dig mange problemer ved at lave alle felter som NOT NULL.
flse: Om php opfører sig pænt kan diskuteres, jeg synes absolut det er rigtig grim opførsel, at den bare 'finder sig i det' Hvorimod java opfører sig som forventet, ved at komme med en exception. Problemmet her er php's mangel på type fasthed.
disky> tjaa.. NULL's er noget fanden har skabt på en regnvejrsdag til sin svigermor :-)
jeg syntes der rart at man slipper for at bøvle med try/catch bare pga. muligheden for nulls, når man ønske en nullværdi opfattet som blank eller 0 .. ihvertfald i 99,9% af tilfældende ..
Men det er da meget rart med typer i java fremfor alternativet i PHP/ASP
At 'null' bliver opfattet som et '0' og folk bare bruger dem til det, er mere et tegn på elendige udviklere end på en smart finesse.
Bortset fra det er try/catch absolut ikke noget bøvl, for selvfølgelig designer man sin database/program ordentligt og så bruger man dem kun der hvor det er nødvendigt og praktisk. ALdrig ved null/0 håndtering.
Jeg må indrømme at denne diskution har været givtig... kanon siger jeg!
ooooog den heldige vinder er..........disky
fornøjelse at få hjælp fra jer alle dog!
Synes godt om
Ny brugerNybegynder
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.