我有一个简单的网页表单,将允许未经认证的用户输入他们的信息,包括姓名。我为name字段设置了50个字符的限制,以便与我的数据库表保持一致,其中字段为varchar(50)
,但随后我开始怀疑。
是使用像Text
列类型这样的名称更合适,还是应该将名称的长度限制为合理的长度?
我使用的是SQL Server2005,以防在您的回复中有意义。
编辑:我没有看到关于类似问题的this broader question。
发布于 2008-08-27 15:49:46
UK Government Data Standards Catalogue建议每个给定的姓名和家族名称使用35个字符,或者单个字段使用70个字符来保存全名。
发布于 2009-02-18 21:03:56
我知道我在这个问题上来晚了,但无论如何我都会添加这个评论,因为将来其他人可能会带着类似的问题来到这里。
注意不要根据区域设置调整列的大小。首先,它让你陷入了维护的噩梦,抛开了人们迁移的事实,并随身携带他们的名字。
例如,拥有这些额外姓氏的西班牙人可以移居和生活在说英语的国家,并可以合理地预期他们的全名会被使用。俄罗斯人除了姓氏之外还有父名,一些非洲人的名字可能比大多数欧洲人的名字要长得多。
考虑到潜在的行数,让每一列尽可能地宽。我使用40个字符的名字,其他名字和姓氏,从来没有发现任何问题。
发布于 2008-08-27 15:43:15
我通常使用varchar (255 ) (255是MySQL中varchar类型的最大长度)。
https://stackoverflow.com/questions/30485
复制相似问题