magomac Inviato 24 Agosto 2007 Segnala Condividi Inviato 24 Agosto 2007 Ciao a tutti. Come faccio in una query mysql a selezionare tutti i record in cui il campo pippo (varchar) è vuoto? Ho provato: WHERE !pippo WHERE pippo='' WHERE pippo=0 ma nulla!!! I primi due casi mi restituiscono i casi in cui non è numerico, però non va bene perchè i record in cui "pippo" è letterale non sono vuoti! L'ultima (pippo=0) a rileggerla adesso mi sembra alquanto improbabile però quando, qualche settimana fa, avevo scritto una query per selezionare tutti i valori PIENI di quel campo avevo messo WHERE pippo!=0 .... mi sembra impossibile visto che il campo è varchar ma quella query continua a funzionare!!!! Non riesco assolutamente a ricordare che ragionamento avevo fatto! Grazie mille. Ciao Link al commento Condividi su altri siti Altre opzioni di condivisione...
kaisersose Inviato 24 Agosto 2007 Segnala Condividi Inviato 24 Agosto 2007 Prova : WHERE pippo = "" con i doppi apici. Guadagna con internet Forum per webmaster Ricerca in calabria Blog webmaster Link al commento Condividi su altri siti Altre opzioni di condivisione...
grigio60 Inviato 25 Agosto 2007 Segnala Condividi Inviato 25 Agosto 2007 prova "WHERE pippo is NULL" Serve aiuto? Posso darti una mano in Webmasters - Aiuto Software - Da Windows a Mac Mappa Utenti ItaliaMac [[miao]] Link al commento Condividi su altri siti Altre opzioni di condivisione...
magomac Inviato 25 Agosto 2007 Autore Segnala Condividi Inviato 25 Agosto 2007 Prova :WHERE pippo = "" con i doppi apici. grazie ma così mi complica solo le cose poichè il " chiude la stringa della query..... Prova :prova "WHERE pippo is NULL" In questo caso non seleziona proprio nulla, neanche i campi vuoti.... Mi viene però un dubbio: in phpMyAdmin, nella struttura della tabella, in quel campo (come in tutti), sotto la voce "Null" è impostato "No". Se io mettessi "Si" risolvo o faccio pasticci nel db? Grazie mille a tutti! Ciao Link al commento Condividi su altri siti Altre opzioni di condivisione...
grigio60 Inviato 25 Agosto 2007 Segnala Condividi Inviato 25 Agosto 2007 se metti sì vuol dire che abiliti la possibilità di assegnare il valore NULL a quel campo ma i valori già presenti nel db non verranno modificati. a questo punto ti suggerirei non solo di abilitare il valore NULL ma di usarlo anche come valore di default per quella stringa, in modo che se non viene definita, automaticamente contiene il valore NULL. Per eseguire il test sulla stringa nulla con i doppi apici la sintassi da usare all'interno di una stringa php è la seguente: $query = "SELECT * from tabella WHERE pippo=\"\""; (fai precedere il " che NON chiude la stringa dal carattere \ backslash) Serve aiuto? Posso darti una mano in Webmasters - Aiuto Software - Da Windows a Mac Mappa Utenti ItaliaMac [[miao]] Link al commento Condividi su altri siti Altre opzioni di condivisione...
magomac Inviato 25 Agosto 2007 Autore Segnala Condividi Inviato 25 Agosto 2007 se metti sì vuol dire che abiliti la possibilità di assegnare il valore NULL a quel campo ma i valori già presenti nel db non verranno modificati. a questo punto ti suggerirei non solo di abilitare il valore NULL ma di usarlo anche come valore di default per quella stringa, in modo che se non viene definita, automaticamente contiene il valore NULL.Per eseguire il test sulla stringa nulla con i doppi apici la sintassi da usare all'interno di una stringa php è la seguente: $query = "SELECT * from tabella WHERE pippo=\"\""; (fai precedere il " che NON chiude la stringa dal carattere \ backslash) Ok quindi per gli slash funziona come per gli echo.... Ora provo ad abilitare NULL e ti dico se va! Grazie Link al commento Condividi su altri siti Altre opzioni di condivisione...
magomac Inviato 25 Agosto 2007 Autore Segnala Condividi Inviato 25 Agosto 2007 Perfetto risolto! Grazie mille Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.