Ima razlike.
Vrednost '' (dakle prazan string) se koristi kada recimo nista nije uneto u input formi (dakle, korisnik nije uneo vrednost), a vrednost NULL se koristi kada vrednost nije dodeljena. Da pojasnim primerom: prosirujes bazu podataka, stavis default NULL, do sada uneti slogovi imaju vrednost NULL, a kasnije uneti slogovi mogu imati neku unetu vrednost, ili ''.
Ako ti ovo ne treba, toplo preporucujem da se stavi not NULL.
Kod upita na kolonama koje imaju NULL treba pripaziti na sledece: Zamisli da imas 200 slogova, 100 imaju neku vrednost, 50 ih ima '', a 50 je NULL. Ako napravis upit:
Code:
select count(*) from tabela where kolona!='';
Moguce je da ces ocekivati da rezultat bude 150, ali nije. Bice 100. Dakle, u upitima se NULL stvarno ne uzima u obzir.
Takodje, stedis na prostoru ako ne stavis NULL kao mogucnost, po slogu stedis jedan bit :)