Grazie delle risposte a tutti.
Rispondo più a piero, perchè quello che ha forse di più azzeccato il caso.
La questione che cercavo di capire era più che altro come veniva gestito il NULL... nel senso che ci sono campi che possono essere nulli e campi che non lo possono essere.
Se io ho un campo che è NOT NULL, e in fase di assegnazione (che sia via codice PHP o da query MYSQL) io non assegno un campo, questo come viene registrato?
Facciamo ipotesi:
Campo Prodotto
Campo Prezzo
tutti e 2 NOT NULL
se io assegno a Prodotto='Mela' e Prezzo='3' (lasciamo perdere il fatto che non si assegna così) posso mettere nel WHERE che se il campo Prezzo='0' allora la Mela non viene selezionata
Se invece io assegno
Prodotto='Pera' e prezzo non la considero, immagino lui assegni direttamente un valore ='0' no? e in questo caso facendo la clausola WHERE prezzo IS NULL non dovrebbe trovare nulla no?
Almeno vedendo il phpmyadmin
Ora solo un ultimo dubbio, se io ho un campo text, e questo campo è NOT NULL, se io in fase di assegnazione non gli assegno niente, questo da phpmyadmin non mi da nulla, come se fosse vuoto, ma in pratica è come se io avessi assegnato un TEXT='' qundi lui non è NULL ma contiente '' giusto?
PS:
Continuo a non capire però... sto facendo prove...
Campo ISBN (sono dei libri) valore mai assegnato
do nella query
WHERE ISBN='NULL'
poi siccome è un pagina PHP dico
if($record[ISBN]= NULL){
echo "manca ISBN";
}
Perfetto funziona.
Vado da Phpmyadmin a vedere un po il tutto e mi da dalla struttura NULL il valore no, quindi deve essere un NOT NULL. Per sicurezza controllo nei dati e mi da dei valori nulli con = 0.
Perfetto cambio il tutto da Null ad = 0 e non vede niente! come se non ci fossero valori a 0... come mai secondo voi?