2011-11-23 9 views
36

Eventuali duplicati:
Common mySQL fields and their appropriate data types
What are the recommended database column sizes for names?Tipo di campo accettabile e dimensioni per l'indirizzo e-mail?

Sto cercando per quello che sarebbe il tipo di campo più corretta e le dimensioni per archiviare e-mail in una tabella mysql.

Inizialmente stavo considerando varchar 255 ma penso che 255 potrebbe essere troppo o anche troppo poco qual è la dimensione media in cui sarei in grado di catturare tutti i tipi di indirizzo email valido?

+0

possibile duplicato di [Quali sono le dimensioni di colonna del database consigliate per i nomi?] (Http://stackoverflow.com/questions/512614/what-are-the-recommended-database-column-sizes-for-names) o [Quali sono le dimensioni delle colonne del database consigliate per i nomi?] (Http://stackoverflow.com/questions/20958/list-of-standard-lengths-for-database-fields) o [Campi mySQL comuni e relativi tipi di dati appropriati] (http://stackoverflow.com/questions/354763/common-mysql-fields-and-the-appropriate-data-types) – gbn

+0

@gbn, i primi due hanno _nothing_ a che fare con gli indirizzi email ma tu sei su un vincitore con il terzo. Sembra che questo sia un dupe. – paxdiablo

+0

@paxdiablo: la risposta accettata per il primo collegamento menziona le e-mail a 320 lunghezze, nonostante il titolo fuorviante, che è quello che ho visto. Il titolo del secondo link è sbagliato dovrebbe essere "Elenco delle lunghezze standard per i campi del database". Tutti e 3 erano i primi 3 nella ricerca di Google :-) – gbn

risposta

109

Secondo RFC 5321, in avanti e il percorso inverso può essere up a 256 caratteri, quindi l'indirizzo di posta elettronica può contenere fino a 254 caratteri. Sei al sicuro usando 255 caratteri.

+11

Inveito perché si parlava per la prima volta di RFC 5321. – r3st0r3

+0

Amo questa risposta. upvote. – MaXi32

+0

Nota che VARCHAR (255) non significa necessariamente 255 ottetti (come specificato nella RFC). Infatti http://stackoverflow.com/a/3739871/582917 afferma che i tipi CHAR, VARCHAR e TEXT ora contano le unità logiche dei caratteri e se si utilizza utf8mb4 che potrebbe essere di dimensioni variabili. – CMCDragonkai

3

L'utilizzo di VARCHAR 255 è probabilmente l'idea migliore qui - non c'è nulla di perso nel dare pochi byte in più per ogni indirizzo di posta elettronica. 255 è anche abbastanza grande da evitare di tagliare qualsiasi indirizzo email sensato.

11

di serie in tutte le applicazioni enterprise web è varchar con 255 lunghezza

varchar(255) 
14

RFC5321 e RFC5322, le norme pertinenti per SMTP, specificare che un indirizzo è composto da una parte locale e un dominio. Dichiarano inoltre che le dimensioni massime per questi sono rispettivamente 64 e 253 ottetti, sebbene ci sia un ulteriore limite di 256 ottetti imposto dai percorsi avanti e indietro, compresa la punteggiatura (quindi 254 nella realtà).

Quindi questo dovrebbe essere tutto ciò che serve per questo.

1

Bene varchar (255) è uno standard per me. E penso che sia un buon approccio per archiviare le email.

Problemi correlati