有效电子邮件地址的最大长度是多少?它是由任何标准定义的吗?
我正在建立一个非常小的MySQL数据库,存储,名字,姓氏,电子邮件和电话号码,我正在努力为每个字段找到"完美"的数据类型.我知道没有一个完美的答案,但必须有一些常见的常用惯例,例如这些.例如,我已经确定一个未格式化的美国电话号码太大而无法存储为unsigned int,它必须至少是一个bigint.
因为我相信其他人可能会觉得这很有用,我不想把我的问题限制在我上面提到的字段中.
哪些数据类型适用于常见数据库字段?电话号码,电子邮件和地址等字段?
我认识到电子邮件地址基本上可以无限长,所以我在varchar电子邮件地址字段上施加的任何大小都是任意的.但是,我想知道"标准"是什么?你们有多长时间制作它?(姓名字段的相同问题......)
更新:显然,电子邮件地址的最大长度为320(<= 64名称部分,<= 255域).你用这个吗?
这有什么错上运行ALTER TABLE auth_user做username是varchar(75)因此它可以适应的电子邮件?如果有什么事情会破坏什么?
如果您要更改auth_user.username为varchar(75)您需要修改django的位置?这只是在源代码中改变30到75的问题吗?
username = models.CharField(_('username'), max_length=30, unique=True, help_text=_("Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters"))
或者这个领域是否还有其他验证需要更改或其他任何后果?
请参阅下面与bartek的评论讨论,了解这样做的原因.
编辑:经过几个月的回顾.对于不了解前提的人:某些应用程序没有要求或希望使用用户名,他们只使用电子邮件进行注册和验证.不幸的是,在django auth.contrib中,用户名是必需的.您可以开始在用户名字段中添加电子邮件,但该字段只有30个字符,而现实世界中的电子邮件可能很长.可能比这里建议的75个字符更长,但75个字符可以容纳最理智的电子邮件地址.问题针对的是这种情况,正如基于电子邮件授权的应用程序所遇到的那样.
可能重复:
数据库中电子邮件地址的最佳长度是多少?
你会把什么作为电子邮件地址字段的长度?
在我看来我有nvarchar(60),但这似乎是随意的.
是否有我可以允许的最大长度或无限制的电子邮件地址长度?
编辑这是
数据库中电子邮件地址的最佳长度是多少?
请关闭
database ×2
sql ×2
convention ×1
django ×1
email ×1
max ×1
mysql ×1
sql-server ×1
types ×1
validation ×1
varchar ×1