![]() |
开朗的野马 · 关于2023年西安交通大学“研究生优秀创新成 ...· 4 月前 · |
![]() |
很酷的小熊猫 · 关于医师兼职问题的咨询-湖南省人民政府门户网站· 5 月前 · |
![]() |
英俊的双杠 · 熟肉 潮和慎平见面 第四集 ...· 7 月前 · |
![]() |
爱笑的草稿本 · 斗罗:盘点罪状,开局处刑胡列娜_(请你吃蛋黄 ...· 8 月前 · |
![]() |
至今单身的伏特加 · 《我的世界》x《名侦探柯南》联动今日开启!_ ...· 1 年前 · |
我有一个简单的网页表单,将允许未经认证的用户输入他们的信息,包括姓名。我为name字段设置了50个字符的限制,以便与我的数据库表保持一致,其中字段为
varchar(50)
,但随后我开始怀疑。
是使用像
Text
列类型这样的名称更合适,还是应该将名称的长度限制为合理的长度?
我使用的是SQL Server2005,以防在您的回复中有意义。
编辑: 我没有看到关于类似问题的 this broader question 。
我们使用50。
如果它在一个字段中是全名,我通常会在单独的字段中使用128 - 64/64作为第一个和最后一个-你永远不会知道。
我通常使用varchar (255 ) (255是MySQL中varchar类型的最大长度)。
名字的平均长度约为6个字母。那就剩下43个作为姓氏了。:)看起来你可以缩短它,如果你喜欢。
主要的问题是你认为你会有多少行?我不认为varchar(50)会杀死你,直到你得到几百万行。
UK Government Data Standards Catalogue 建议每个给定的姓名和家族名称使用35个字符,或者单个字段使用70个字符来保存全名。
@Ian Nelson:我想知道其他人是否看到了这个问题。
假设你有拆分的字段。总共70个字符,名35个,姓35个。但是,如果你只有一个字段,你就会忽略名字和姓氏之间的空格,将你的名字缩短了1个字符。当然,它“只”是一个字符,但这可能会造成一些人输入他们的全名和另一些人不输入全名的区别。因此,我建议将该建议更改为“每个给定姓名和家族名称使用35个字符,或者单个字段包含全名使用71个字符”。
请注意,许多 文化 都有“第二个姓氏”,通常称为姓氏。例如,如果你和西班牙人打交道,他们会喜欢把姓氏和他们的“姓”分开。
最好的方法是为姓名部分定义一个数据类型,将其用作姓氏的数据类型,并根据区域设置进行调整。
您真正问的是一个相关但本质上不同的问题:为了将名称放入数据库,我需要多久截断一次?答案取决于不同长度的名字的频率以及所选择的最大长度。这种担忧与对数据库使用的资源的担忧相平衡。考虑到varchar字段的不同最大长度之间的开销差异是如此之小,我通常会犯错误,因为我永远不会被迫截断名称并使字段尽可能大。
我知道我在这个问题上来晚了,但无论如何我都会添加这个评论,因为将来其他人可能会带着类似的问题来到这里。
注意不要根据区域设置调整列的大小。首先,它让你陷入了维护的噩梦,抛开了人们迁移的事实,并随身携带他们的名字。
例如,拥有这些额外姓氏的西班牙人可以移居和生活在说英语的国家,并可以合理地预期他们的全名会被使用。俄罗斯人除了姓氏之外还有父名,一些非洲人的名字可能比大多数欧洲人的名字要长得多。
考虑到潜在的行数,让每一列尽可能地宽。我使用40个字符的名字,其他名字和姓氏,从来没有发现任何问题。
取决于谁将使用您的数据库,例如,非洲人的名字将用varchar(20)分隔姓氏和名字。但是,不同的国家不同,但是为了节省数据库资源和内存,请将姓氏和名字字段分开,并使用varchar(30)。
在英国,有几个政府标准成功地处理了大部分英国人口-护照办公室,司机和车辆牌照局,契据调查办公室和NHS。显然,他们使用不同的标准。
通过地契投票 allows 300 characters 更改你的名字;
您的姓名长度没有法律限制,但我们对您的全名有300个字符(包括空格)的限制。
The NHS uses 70 characters for patient names
患者姓名
格式/长度:最大an70
护照办公室的 allows 30+30 first/last 和驾驶执照(DVLA)总共是30个。
请注意,其他组织会对他们在制作的证件上显示的内容有自己的限制-英国护照办公室的限制是您的名字和姓氏各30个字符,而移民局的限制是您的全名总共30个字符。
答案可能因用于存储名称的数据库字段和HTML表单中的字段而异。
HTML中名称字段的长度可以由UX引导。
有一个 study 显示,在欧洲,引用:“名字的中位数是6.5个字符,姓氏是7.1个字符”。如果你看下面的图表,你会发现每个人都有10个字符,给定的名字和姓氏,足以拥有最佳的用户体验。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券
![]() |
很酷的小熊猫 · 关于医师兼职问题的咨询-湖南省人民政府门户网站 5 月前 |