Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[MySQL] NULL of lege strings?

Anoniem
BasHamar
4 antwoorden
  • Ik ben bezig met een database-ontwerp en wil graag weten wat de voorkeur heeft in het geval dat er geen waarde is om in een veld te zetten, NULL of een lege string (of '0' in het geval van een integer)? Dit is wat ik tot nu toe heb kunnen vinden:

    [list:07702f6702][*:07702f6702]'NULL' betekent 'onbekend'.
    [*:07702f6702]NULL kan niet vergeleken worden in queries.
    [*:07702f6702]NULL kan worden opgevraagd met IS NULL of IS NOT NULL.
    [*:07702f6702]NULL wordt niet meegenomen in berekeningen als AVG(), 0 wel.
    [*:07702f6702]NULL neemt evenveel ruimte in als een lege string.
    [*:07702f6702]"Willekeurige string" + NULL + "Nog een willekeurige string" resulteert in NULL.[/list:u:07702f6702]
    Al deze gegevens helpen me echter niet om een keuze te maken. Zijn er best practices voor het gebruik van NULL? Wat doen jullie over het algemeen? De gegevens gaan verwerkt worden icm PHP5, mocht dat relevant zijn…

    Alvast bedankt voor jullie reacties.

    - Bas
  • Ik gebruik altijd NULL.

    [list:7a7c5b5285][*:7a7c5b5285]'NULL' betekent 'onbekend'.
  • [quote:de411f3eae="Annie"][list:de411f3eae][*:de411f3eae]NULL kan niet vergeleken worden in queries.
  • [quote:472247948a="BasHamar"]NULL > 1, NULL < 1, NULL = NULL, NULL != NULL geven allemaal als resultaat - jawel - NULL. ;)[/quote:472247948a]
    Ah, bedoel je dat. Maar dat is ook logisch. NULL betekent 'onbekend', dus elk van de vergelijkingen die je geeft daarvan is de uitkomst ook 'onbekend'. Is een niet bekende waarde kleiner dan 1? Geen idee, m.a.w. NULL ;)
    Vergelijken met NULL doe je met IS (NOT) NULL, zoals je in een ander punt al aangaf.
    [quote:472247948a="BasHamar"]Uit jouw mond geloof ik het direct. Ik ben eruit, ik ga NULL gebruiken! :D
    [/quote:472247948a]
    Haha, nou dank voor het compliment, maar ik zou niet blindelings op mijn mening vertrouwen hoor ;)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.