Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

MySQL data types

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

MySQL data types

Postdi archimede » 09/03/07 15:22

Ciao.

Dovendo convertire un db MySQL (che non conosco) ho la necessità di capire la precisione dei vari campi.

Qualcuno sa dirmi cosa può contenere un campo che io vedo (nel pannello di aruba) come tinyint(4)? Ho dato un'occhiata al manuale, ma quel (4) mi lascia un po' perplesso: rappresenta il numero massimo di bytes o di cifre?

Grazie.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Sponsor
 

Postdi tekanet » 09/03/07 17:08

In genere sono il numero di caratteri per gli alfanumerici e di bytes per i numerici.. in quel caso byte quindi. Faccio riferimento a SQL Server, non so le differenze con My SQL. Però di norma "4" sono i bytes di un Int/integer/int32, non di un tinyint :P..

tK
tekanet
Utente Senior
 
Post: 173
Iscritto il: 03/09/02 10:22
Località: Milano sud-ovest

Postdi archimede » 10/03/07 09:29

tekanet ha scritto:Però di norma "4" sono i bytes di un Int/integer/int32, non di un tinyint
Appunto, da lì la mia perplessità.

Per chi fosse interessato, ho creato una tabella con 3 campi tinyint con lunghezza 4, 3 e 2. Poi ho fatto una insert di 9999 in ciascuno e in tutti e tre ci ho ritrovato 127 (-128 nel caso di -9999).

Se qualcuno può fornire un link dove trovare spiegata la sintassi esatta dei tinyint (e degli altri tipi di MySQL) gliene sarò grato.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi zello » 13/03/07 16:13

Insospettabilmente, nel manuale di mysql
Il faut être toujours ivre. Tout est là : c'est l'unique question. Pour ne pas sentir l'horrible fardeau du Temps qui brise vos épaules et vous penche vers la terre,il faut vous enivrer sans trêve...
Avatar utente
zello
Moderatore
 
Post: 2351
Iscritto il: 06/05/02 13:44

Postdi zello » 13/03/07 16:16

Ah, e il numero tra parentesi è quello di bit, non di bytes. tinyint(4) è da +7 a -8.
Il faut être toujours ivre. Tout est là : c'est l'unique question. Pour ne pas sentir l'horrible fardeau du Temps qui brise vos épaules et vous penche vers la terre,il faut vous enivrer sans trêve...
Avatar utente
zello
Moderatore
 
Post: 2351
Iscritto il: 06/05/02 13:44

Postdi archimede » 13/03/07 16:32

zello ha scritto:Ah, e il numero tra parentesi è quello di bit, non di bytes. tinyint(4) è da +7 a -8.
Non secondo le prove che ho fatto io (vedi sopra).

E neanche secondo il manuale (che in effetti avevo letto un po' troppo sommariamente): il numero tra parentesi rappresenta la display width, che non ho ben capito a cosa serva ma non certo a modificare la "capacità" (numero di bytes) di ciascun tipo.

Grazie comunque per l'interessamento.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi zello » 14/03/07 09:39

Mi cospargo il capo di cenere, la deduzione derivava dal fatto che da qualche parte il manuale dice che il tipo booleano è equivalente ad un tinyint(1).
Il faut être toujours ivre. Tout est là : c'est l'unique question. Pour ne pas sentir l'horrible fardeau du Temps qui brise vos épaules et vous penche vers la terre,il faut vous enivrer sans trêve...
Avatar utente
zello
Moderatore
 
Post: 2351
Iscritto il: 06/05/02 13:44


Torna a Programmazione


Topic correlati a "MySQL data types":


Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti