Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [MySQL] Smallint a int

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072

    [MySQL] Smallint a int

    Domanda banale, ma non voglio fare danni:

    se cambio un campo da smallint (o mediumint) 9 a int(10) .... non perdo nulla vero?


    e:

    Stesso discorso per da tinyint(11) a int(10)???

    Non perdo nulla?

  2. #2

    Re: [MySQL] Smallint a int

    Originariamente inviato da Valeria75_bis
    Domanda banale, ma non voglio fare danni:

    se cambio un campo da smallint (o mediumint) 9 a int(10) .... non perdo nulla vero?


    e:

    Stesso discorso per da tinyint(11) a int(10)???

    Non perdo nulla?
    se la dimensione dei campi e' maggiore non perdi nulla. Certo che serve parecchia fantasia per assegnare un tinyint = 11 digit per descrivere 1 byte.

    tanto per comoda memoria dalla guida di luca200 trovi scritto.

    I dati di tipo TINYINT, SMALLINT, MEDIUMINT, INT e BIGINT rappresentano numeri interi composti rispettivamente da 1, 2, 3, 4 e 8 bytes.
    Il TINYINT può contenere 256 valori, che vanno da -128 a +127 oppure da 0 a 255 nel caso di UNSIGNED. Allo stesso modo, SMALLINT può contenere 65536 valori, MEDIUMINT 16.777.216, INT oltre 4 miliardi, BIGINT circa 18 miliardi di miliardi.

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie per la risposta!!

    Quindi anche in questo caso è OK?


    da tinyint(11) a int(10)???

    Posso senza problemi?

    Grazie

  4. #4
    Originariamente inviato da Valeria75_bis
    Grazie per la risposta!!

    Quindi anche in questo caso è OK?


    da tinyint(11) a int(10)???

    Posso senza problemi?

    Grazie
    il numerello tra parentesi indica il numero delle cifre da visualizzare e non la dimensione del campo perche' il campo ha dimensione fissa: tinyint = 1 byte, int = 4 byte.

    Quindi un numero intero di 1 byte ci sta parecchio comodo in un campo numerico di 4 byte

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie per la risposta!!! Cosa intendi per "cifre da visualizzare"??

    Quindi riserva 4byte e 11 cifre per l'intero??

    Se l'intero avesse 12 cifre cosa succederebbe??
    Pur avendo allocato 4byte avrei un errore?

    Corretto?

  6. #6
    i campi numerici non sono dimensionabili a piacere come un varchar tanto per semplificare.
    Sono a dimensione prefissata come detto nel quote precedente.

    La cifra che inserisci vale per il numero dei digit che sono da visualizzare nel caso, per esempio, tu impostassi il campo numerico con ZEROFILL, cioe' con una certa quantita' di zero davanti per avere, sempre per esempio, un numero di lunghezza visualizzata sempre identica (la lunghezza)

    Se un campo TINYINT con capacita' 1 byte puo' visualizzare da -127 a +128 e quindi 4 digit nel caso di numero negativo fa un po' di tenerezza vedere un TINYINT(11) che e' il massimo che puo' visualizzare un INT che ha 4 byte. Ripeto ancora... la visualizzazione e' una cosa che nulla a che fare con la capacita' del campo. Se tu metti INT(3) e poi inserisci un numero di 6 cifre stai pur certa che non lo taglia ma lo inserisce tutto e lo visualizza tutto anche se tu hai messo INT(3)

    per esempio il numero decimale 234567 equivale in un INT a
    00000000 00000011 10010100 01000111 cioe' 4 byte.... sempre e solo 4 byte.

    se l'intero superasse la capacita' massima andrebbe semplicamente in overflow ed il risultato sarebbe il riavvolgimento a zero del contatore. Vedi qui nel caso fosse INT:

    codice:
      11111111 11111111 11111111 11111111 +
                                                 1 =
    -------------------------------------------
    1 00000000 00000000 00000000 00000000
    claro???? Volgarmente si direbbe che taglia la cifra, in realta' andrebbe in overflow e per gestire il numero servirebbero 5 byte che INT non ha.

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

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie mille!!!

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