在数据库中,电子邮件地址的最佳长度是多少?
在数据库中,电子邮件地址的最佳长度是多少?
以下是我查询的一部分,反映了EMAIL_ADDRESS
列的数据类型和属性:
EMAIL_ADDRESS CHARACTER VARYING(20) NOT NULL,
然而,John Saunders使用了VARYING(256)
。
这表明我可能没有正确理解VARYING的含义。
根据我的理解,我的情况下电子邮件地址的长度为20个字符,而John的长度为256个字符。
我从未见过普通人使用长度超过20个字符的电子邮件地址。
在数据库中,电子邮件地址的最佳长度是多少?
电子邮件地址的最大长度为254个字符。每个电子邮件地址由两部分组成。'@'符号之前的本地部分和之后的域部分。在"user.com"中,本地部分是"user",域部分是"example.com"。本地部分不能超过64个字符,域部分不能超过255个字符。电子邮件地址的本地部分+@+域部分的长度不能超过254个字符。
根据RFC3696勘误ID 1690的描述,实际上,由于RFC2821的额外限制,最大长度应为254个字符。尽管早期的讨论中提到可以使用320个字符,但实际上的最大长度是254个字符。如果存储空间是一个问题,如果有人遇到这个讨论,可能需要了解这一点。详见RFC3696的勘误ID 1690。
维基百科在这里总结了相关部分:“但最大限制...限制整个电子邮件地址的长度不超过254个字符”。
特别是如果您希望电子邮件字段具有唯一约束;在INNODB和utf8 varchar(254)下,长度小于767个字节,可以设置唯一约束,而varchar(300)则不行。
在RFC 3696的勘误ID 1003中,我发现实际上256个字符是实际限制(而320个字符是最大限制)。
在数据库中,电子邮件地址的最佳长度是多少?这个问题的出现是因为对于电子邮件地址的长度,有不同的观点和需求。有人认为只需使用varchar(50)即可,因为统计数据显示,几乎没有人使用超过50个字符的合法电子邮件地址。他们认为更长的电子邮件地址会对用户界面造成混乱,并且存在安全隐患。然而,也有人认为这种观点是错误的,因为有很多现实世界中的用户确实使用超过50个字符的电子邮件地址,并且他们无法为了你的系统而更改它们。拒绝这些用户的访问是不公平的。此外,还有一些高级用户使用了加号表示法来对他们的电子邮件进行分类和组织,这样他们每个网站/服务/应用都有一个唯一的(子)电子邮件地址。这些加号表示法可能会使电子邮件地址超过50个字符。因此,关于电子邮件地址的最佳长度,没有一个确定的答案,需要根据具体情况和需求来决定。