un campo NULL e' diverso da NOT NULL vuoto (empty), e' diverso da zero, semplicemente non esiste. In pratica un campo NOT NULL lasciato vuoto sara' "riempito" con il valore di default. Un campo NULL lasciato tale di fatto non esiste e non viene considerato nei raggruppamenti (count, avg etc.).Originariamente inviato da giancarlo75
Non ho capito bene quando si crea un nuovo campo che differenza c'è tra dire che può essere NULL oppure negare il NULL perchè ad intuito capisco che se non può essere NULL bisogna per forza inserirci qualcosa ma poi di fatto se guardo molte tabelle nei campi NOT NULL spesso non c'è niente. La cosa che più mi preme è sapere se funzionano gli INSERT quando non si inserisce niente in un campo NOT NULL, perchè siccome devo creare una tabella non vorrei che poi mi si blocchi la query quando tento di fare un INSERT lasciando vuoto un campo che ho dichiarato NOT NULL.
Un campo NULL se valorizzato perde la caratteristica di "inesistente" e cancellando un eventuale contenuto non tornera' NULL ma empty. Per tornare NULL deve essere nuovamente settato a NULL con un update ... set campo=NULL
Anche nella SELECT devi citare in modo esplicito che cerchi un campo con valore NULL perche' se cerchi un campo vuoto (empty) il NULL non verra' trovato.