电子邮件地址可接受的字段类型和大小?

问题描述:

可能重复:
Common mySQL fields and their appropriate data types
What are the recommended database column sizes for names?电子邮件地址可接受的字段类型和大小?

我要寻找什么是最正确的字段类型和大小的电子邮件地址保存到一个MySQL表。

我最初考虑的是varchar 255,但我认为255可能太多或甚至太小平均大小的地方是什么,我能够捕捉到所有有效的电子邮件地址?

+0

可能的重复[什么是建议的名称数据库列大小?](http://stackoverflow.com/questions/512614/what-are-the-recommended-database-column-sizes-for-names)或[建议的数据库列大小是什么?](http://stackoverflow.com/questions/20958/list-of-standard-lengths-for-database-fields)或[Common mySQL字段及其适当的数据类型] (http://stackoverflow.com/questions/354763/common-mysql-fields-and-their-woole-data-types) – gbn

+0

@gbn,那些前两个没有用电子邮件地址做,但你是一个赢家与第三。看起来这是一个骗局。 – paxdiablo

+0

@paxdiablo:第一个链接的接受答案提到320个邮件,尽管误导性的标题,这是我看到的。第二个链接标题错误应该是“数据库字段的标准长度列表”。在Google搜索中,所有3个都排名前三位:-) – gbn

RFC 5321,正向和反向路径就可以了到256个字符长,所以电子邮件地址可以长达254个字符。使用255个字符安全。在任何企业的Web应用程序

+11

Upvoted因为你是第一个谈论RFC 5321. – r3st0r3

+0

我喜欢这个答案。给予好评。 – MaXi32

+0

请注意,VARCHAR(255)不一定意味着255个八位组(按照RFC中的规定)。事实上,http://stackoverflow.com/a/3739871/582917表示,CHAR,VARCHAR和TEXT类型现在计算逻辑字符单位,并且如果您使用的是可变大小的utf8mb4。 – CMCDragonkai

使用VARCHAR 255可能是最好的主意 - 在为每个电子邮件地址提供更多字节方面没有任何损失。 255也足够大,以避免削减任何理智的电子邮件地址。

What is the maximum length of a valid email address?

你应该使用VARCHAR字段,
这使大小并不重要(假设你是不是建立在其上的指数)

标准为varchar 255长度

varchar(255) 

RFC5321RFC5322,用于SMTP的相关标准,指定一个地址由本地部分和域的。他们进一步指出,这些最大尺寸分别为64和253个八位字节,但是正向和反向路径还有256个八位字节的限制,包括标点符号(实际上是254)。

所以这应该是你需要的一切。

Well varchar(255)是我的标准。我认为这是存储电子邮件的好方法。