Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [MYSQL]Differenza tra VARCHAR e TEXT

    Ragazzi sono un po' confuso
    ma che differenza c'è tra VARCHAR e TEXT dato che tutti e due sono di tipo string ed hanno come lunghezza massima 65535 caratteri?

    Grazie
    Ho visto cose...

  2. #2

    Re: [MYSQL]Differenza tra VARCHAR e TEXT

    Originariamente inviato da dantefoxfox
    Ragazzi sono un po' confuso
    ma che differenza c'è tra VARCHAR e TEXT dato che tutti e due sono di tipo string ed hanno come lunghezza massima 65535 caratteri?

    Grazie
    beh! in mysql varchar e' piu' modesto. Lascio a te verificare le differenze sul manuale.

    http://dev.mysql.com/doc/refman/5.0/...ing-types.html

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

  3. #3
    E' proprio quello che ho letto
    The effective maximum length of a VARCHAR in MySQL 5.0.3 and later is subject to the maximum row size (65,535 bytes, which is shared among all columns) and the character set used.
    e questo
    A TEXT column with a maximum length of 65,535 (216 – 1) characters.
    E' per questo che sono confuso.
    Mi puoi almeno fare degli esempi in cui useresti l'uno invece che l'altro?

    Scusate l'ignoranza.
    Ho visto cose...

  4. #4
    Mi pare che sia detto nel manuale che in una tabella la lunghezza "complessiva" di tutti i campi varchar sia di max 65535 (64kb). Intanto sia varchar che text sono campi "dinamici" cioe' occupano solo lo spazio effettivo piu' una manciata di byte che definiscono l'effettiva lunghezza occupata. Si dice pure che lo spazio effettivamente occupato dipenda dal charset usato. Quindi se fosse un charset multibyte cioe' anche 3-4 byte per ogni lettera scritta, lo spazio effettivo non sara' piu' conteggiabile nel numero di lettere che puoi vedere ma dallo spazio effettivamente occupato.

    Note

    The effective maximum number of bytes that can be stored in a VARCHAR or VARBINARY column is subject to the maximum row size of 65,535 bytes, which is shared among all columns. For a VARCHAR column that stores multi-byte characters, the effective maximum number of characters is less. For example, utf8 characters can require up to three bytes per character, so a VARCHAR column that uses the utf8 character set can be declared to be a maximum of 21,844 characters.
    Con varchar "imponi" una lunghezza massima variabile, con text la lunghezza massima raggiungibile e' fissa. Anche gli indici si comportano diversamente (almeno mi pare)

    per quanto riguarda l'uso... ovviamente dipende dalla tua struttura. Di solito se conosco la lunghezza massima di quanto debbo inserire uso un varchar (es.: un indirizzo, un nominativo) mentre userei text se si trattasse di una descrizione o altro di lunghezza non conosciuta a priori ma che si deve contenere entro una dimensione max fissa.

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

  5. #5
    Oh mille grazie per il chiarimento, almeno so cosa faccio.
    Grazie
    Ho visto cose...

  6. #6
    Ragazzi,una domanda:

    Se effettuo addslashes o simili su una stringa lunga quanto la dimensione del varchar (esempio 10 chars), ovviamente la dimensione non potrebbe bastare in caso di stringa con apici ?

    esempio:

    abcdefgh'il => 10

    diventerebbe

    abcdefgh\'il => 11

    Quindi perderei l'informazione,giusto?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.