Visualizzazione dei risultati da 1 a 5 su 5

Discussione: niente NOT NULL

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    579

    niente NOT NULL

    inserisco questo comando:

    ALTER TABLE utenti_scacchirako
    ADD indirizzo VARCHAR( 100 ) NOT NULL,
    ADD occupazione VARCHAR( 100 ) NOT NULL,
    ADD contatto_yahoo ( 100 ) ,
    ADD contatto_icq ( 100 ) ,
    ADD contatto_msn ( 100 ) ,
    ADD temp SET( '0', '1' ) NOT NULL,
    ADD regdate VARCHAR( 11 ) NOT NULL,
    ADD uid VARCHAR( 32 ) NOT NULL;

    e mi crea questo problema, cioè che il campo senza not null nn me li considerà, ma io nn voglio che obbligatoriamente esso inserisca questo suo contatto, quindi comando devo mettere per inserire questa ALTER TABLE????

    grazie
    l'uomo è tutto ciò che non può essere

    http://www.ebug.it Discussioni da web Designer

    http://www.ebug.it/?p=354 e Dart Fener dove lo mettiamo lol

  2. #2
    Non c'entra NOT NULL c'entra che non definisci il tipo di campo...

    ADD contatto_yahoo ( 100 ) ,
    ADD contatto_icq ( 100 ) ,
    ADD contatto_msn ( 100 ) ,

    100 di che ??? devi dichiarare il tipo di campo.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    mmm guarda che ti conviene lasciarli i not null
    se ci sono i campi null l'estrazione dei dati è estremamente più lenta :\

    ora la cosa può essere utile se hai 1 milione di record in una tabella e tanti campi longblob(text) ed in quel caso avrebbe senso...magari ne riempi pochissimi ... e usi un sacco di spazio inutile ... ma questo non credo sia il caso

    NOT NULL non vuol dire che non può essere vuoto, ma che non può essere NULLO ... una leggerissima differenza ma che pesa parecchio

    ti posto qui di seguito qualche link interessante sull'argomento
    http://sunsite.mff.cuni.cz/MIRRORS/f...with_NULL.html
    http://www.tipsntutorials.com/tips/MySQL/21/
    http://juicystudio.com/tutorial/mysql/tables.asp
    http://archives.neohapsis.com/archiv...4-q1/0735.html

    sciauz

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    579
    ma quando mando una query sulla tabella con qualke riga nn segnata
    (tipo contatto yahoo nn c'è l'ho e nn lo metto) succede qualkosa????


    grazie
    l'uomo è tutto ciò che non può essere

    http://www.ebug.it Discussioni da web Designer

    http://www.ebug.it/?p=354 e Dart Fener dove lo mettiamo lol

  5. #5
    [supersaibal]Originariamente inviato da StarFinger
    ma quando mando una query sulla tabella con qualke riga nn segnata
    (tipo contatto yahoo nn c'è l'ho e nn lo metto) succede qualkosa????

    grazie [/supersaibal]
    Se non c'e' non succede nulla. Ti esemplifico il comportamento con NULL e NOT NULL.

    Se il campo e' NULL, parliamo della caratteristica assegnata con la creazione della tabella, il comportamento sara':

    SELECT * FROM TABELLA WHERE campo = '';
    ti torneranno solo i campi vuoti, ma non i campi NULL.

    SELECT * FROM TABELLA WHERE campo != '';
    ti torneranno i campi valorizzati ma non i campi NULL.

    SELECT * FROM TABELLA WHERE campo IS NULL;
    ti torneranno i campi NULL ma non i campi vuoti (empty)

    SELECT * FROM TABELLA WHERE campo IS NOT NULL;
    ti torneranno i campi vuoti (empty) e quelli valorizzati.

    Quindi il comportamento del campo NULL deve essere sempre previsto.

    Paradossalmente poi, un campo NULL occupa piu' spazio di un campo VARCHAR/varchar/text vuoto.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.