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

Mysql 电子邮件地址的可接受字段类型和大小?,mysql,size,email-address,fieldtype,Mysql,Size,Email Address,Fieldtype,可能重复: 我正在寻找将电子邮件地址存储到mysql表中最正确的字段类型和大小 我最初考虑的是varchar 255,但我认为255可能太多,甚至太小。我可以捕获所有类型的有效电子邮件地址的平均大小是多少?使用varchar 255可能是最好的主意-为每个电子邮件地址多提供几个字节没有什么损失。255也足够大,可以避免删除任何正常的电子邮件地址。 您应该使用varchar字段, 这使得大小无关紧要(假设您没有在其上建立索引)根据,正向和反向路径的长度最多可达256个字符,因此电子邮件地址的长

可能重复:

我正在寻找将电子邮件地址存储到mysql表中最正确的字段类型和大小


我最初考虑的是varchar 255,但我认为255可能太多,甚至太小。我可以捕获所有类型的有效电子邮件地址的平均大小是多少?

使用varchar 255可能是最好的主意-为每个电子邮件地址多提供几个字节没有什么损失。255也足够大,可以避免删除任何正常的电子邮件地址。

您应该使用varchar字段,

这使得大小无关紧要(假设您没有在其上建立索引)

根据,正向和反向路径的长度最多可达256个字符,因此电子邮件地址的长度最多可达254个字符。使用255个字符是安全的。

任何企业web应用程序中的标准是长度为255的varchar

  varchar(255)
而且,SMTP的相关标准规定地址由本地部分和域组成。他们进一步指出,最大大小分别为64和253个八位字节,尽管包括标点符号在内的正向和反向路径还施加了256个八位字节的限制(实际上是254个)


所以这就是你所需要的一切。

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

可能与or或@gbn重复,前两个与电子邮件地址无关,但第三个则是赢家。看起来这是一个骗局。@paxdiablo:第一个链接的公认答案提到了320长度的电子邮件,尽管标题有误导性,这就是我所看到的。第二个链接标题错误,应该是“数据库字段的标准长度列表”。这三个都是谷歌搜索的前三名:-)gbn好吧,在提出问题之前,我确实尝试过四处搜索,但使用mysql电子邮件这一术语不足以找到任何相关的内容。@gbn,我倾向于只在问题被复制时才将问题标记为复制品,而不是一个答案可能包含所需信息的事实。这是因为我通常的用例是寻找问题,询问我需要知道的东西。但这只是我的观点,而且毫无意义,因为你的第三个链接是一个傻瓜:-)因为你是第一个谈论RFC5321的人,所以投票率上升。我喜欢这个答案。upvote。注意VARCHAR(255)不一定意味着255个八位字节(如RFC中指定的)。事实上,CHAR、VARCHAR和TEXT类型现在计算逻辑字符单位,如果使用utf8mb4,则可能是可变大小。因此,我猜255限制应该是一个八位字节限制,在使用utf8编码的电子邮件地址时需要考虑这一点。如何在没有额外字符的情况下键入“@”?