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

    Formattazione indesiderata Mysql

    Ciao a tutti,
    ho un problema con Mysql:
    in un campo int(20) not null, valore predefinito 0 di una tabella, quando inserisco un numero superiore a 2147483647 questo mi viene invariabilmente modificato in 2147483647.

    Ho verificato e risulta essere la data massima rappresentabile con il timestamp Unix.

    Questo accade sia con inserimento dal mio script, sia dalla console phpMyAdmin...
    La cosa strana è che non ho mai impostato alcuna formattazione particolare del campo, fuorché "int(20) not null" in fase di creazione della tabella.

    Da cosa dipende? Ho pensato che potessero entrarci qualcosa le specifiche della nuova release di MySQL. Come posso risolvere?
    Grazie

    Annalisa
    La sola schiettezza naturale non basta, bisogna considerare come la interpreterà l'altro (J. Gray)

  2. #2
    Il campo INT() e' sempre di 4 byte, vedi i valori che puo' contenere sul manuale.

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

    quindi INT(20) proprio non esiste.... al max INT(11) se il campo e' SIGNED per i numeri negativi. INT(10) se UNSIGNED.

    Tieni presente che il numerello non serve a granche' visto che il campo e' sempre di 4 byte. Serve solo a visualizzare il numero delle cifre quando usi UNSIGNED ZEROFILL

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

  3. #3

    Prova così

    Ho avuto un problema simile e ho risolto scegliendo per il campo il formato bigint(n) anziché int(n).
    Non so se sia il tipo di scelta più appropriata ed ortodossa, ma ti garantisco che funziona.
    Ciao :-)
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

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.