我正在设计一个数据库表,问自己这个问题:名字字段应该多长?

谁有最常见的字段(如名字、姓氏和电子邮件地址)的合理长度的列表?


当前回答

英国政府数据标准目录详细说明了这类事情的英国标准。 它建议“名”和“姓”各有35个字符,“全名”为70个字符,“电子邮件地址”为255个字符。除此之外…

其他回答

Just looking though my email archives, there are a number of pretty long "first" names (of course what is meant by first is variable by culture). One example is Krishnamurthy - which is 13 letters long. A good guess might be 20 to 25 letters based on this. Email should be much longer since you might have firstname.lastname@somedomain.com. Also, gmail and some other mail programs allow you to use firstname.lastname+sometag@somedomain.com where "sometag" is anything you want to put there so that you can use it to sort incoming emails. I frequently run into web forms that don't allow me to put in my full email address without considering any tags. So, if you need a fixed email field maybe something like 25.25+15@20.3 in characters for a total of 90 characters (if I did my math right!).

这些可能对某人有用;

youtube max channel length = 20
facebook max name length   = 50
twitter max handle length  = 15
email max length           = 255 

http://www.interoadvisory.com/2015/08/6-areas-inside-of-linkedin-with-character-limits/

我想找到同样的答案,在公认的答案中提到的英国政府数据标准听起来很理想。然而,这些似乎都不存在了——经过长时间的搜索,我在一个存档中找到了它:http://webarchive.nationalarchives.gov.uk/+/http://www.cabinetoffice.gov.uk/govtalk/schemasstandards/e-gif/datastandards.aspx。需要下载zip,解压,然后在html文件夹中打开default.htm。

如果你需要考虑本土化,并且这在你的环境中是可行的,我建议:

为名称的每个组件定义数据类型——注意:某些区域性有两个以上的名称!然后为全名设置一个类型,

然后本地化就变得简单了(就名称而言)。

同样适用于地址,顺便说一句-不同的格式!

W3C推荐:

If designing a form or database that will accept names from people with a variety of backgrounds, you should ask yourself whether you really need to have separate fields for given name and family name. … Bear in mind that names in some cultures can be quite a lot longer than your own. … Avoid limiting the field size for names in your database. In particular, do not assume that a four-character Japanese name in UTF-8 will fit in four bytes – you are likely to actually need 12. https://www.w3.org/International/questions/qa-personal-names

对于数据库字段,VARCHAR(255)是一个安全的默认选择,除非您确实有充分的理由使用其他选项。对于典型的web应用程序,性能不是问题。不要过早地优化。