首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL电子邮件字段应该有多长?

SQL电子邮件字段应该有多长?
EN

Stack Overflow用户
提问于 2009-08-19 00:22:51
回答 8查看 64.8K关注 0票数 107

我认识到电子邮件地址基本上可以无限长,所以我在varchar电子邮件地址字段中设置的任何大小都是任意的。然而,我想知道什么是“标准”?你们能坚持多久?(名称字段的问题相同...)

更新:显然一个电子邮件地址的最大长度是320 (<=64名称部分,<= 255域名)。你用这个吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-08-19 01:01:45

理论上的限制真的很长,但你真的需要担心这些长的电子邮件地址吗?如果有人不能用100个字符的电子邮件登录,你真的在乎吗?我们实际上更希望他们不能。

一些统计数据可能会为这个问题提供一些线索。我们分析了一个包含1000多万个电子邮件地址的数据库。这些地址未被确认,因此存在无效地址。这里有一些有趣的事实,

  1. 最长有效长度为89。
  2. 在本栏目中有上百个较长的长度分布(255),但从视觉上看,长度分布的峰值在19处明显是假的。
  3. 没有长尾。38岁之后,一切都会急剧下降。

我们清理了数据库,丢弃了任何超过40的数据。好消息是没有人抱怨,但坏消息是没有太多记录被清理掉。

票数 193
EN

Stack Overflow用户

发布于 2009-08-19 00:25:33

我过去只做了255,因为这是简短但不太短的输入的根深蒂固的标准。我是个习惯性的生物。

但是,由于最大值为319,因此我将对列执行nvarchar(320)。一定要记住@

nvarchar不会使用你不需要的空格,所以如果你只有一个20个字符的电子邮件地址,它只会占用20个字节。这与总是占用其最大值的nchar形成对比(它用空格右填充数值)。

我也会用nvarchar代替varchar,因为它是Unicode。考虑到电子邮件地址的易变性,这绝对是一条可行的道路。

票数 17
EN

Stack Overflow用户

发布于 2009-08-19 00:33:23

以下电子邮件地址仅为94个字符:

i.have.a.really.long.name.like.seetharam.krishnapillai@AReallyLongCompanyNameOfSomeKind.com.au

  • ,一个组织真的会给你一封这么长的电子邮件吗?
  • ,如果他们愚蠢到这样的程度,你会真的使用这样的电子邮件地址吗?
  • 会吗?当然不是。太长而不能打字,也太难记。

即使是92岁的技术恐惧者也会想办法注册一个漂亮的短gmail地址,然后直接使用它,而不是在注册页面中输入这个地址。

磁盘空间可能不是问题,但允许用户输入字段比所需长度长许多倍至少存在两个问题:

  • Displaying它们可能会弄乱你的up (最好的情况是它们会被切断,最坏的情况是它们会推动你的容器和边际空间)
  • Malicious用户可以用它们做你无法预料的事情(就像黑客使用免费的在线来存储大量数据的情况一样)

我喜欢50个字符:

123456789.123456789.123456789@1234567890123456.com

如果一百万个用户中有一个必须使用他们的其他电子邮件地址才能使用我的应用程序,那就这样吧。

(统计数据显示,没有人实际输入的电子邮件地址超过40个字符,例如: ZZ Coder's answer https://stackoverflow.com/a/1297352/87861)

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1297272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档