我有一个简单的网络表单,允许未经身份验证的用户输入他们的信息,包括姓名。我将名称字段限制为 50 个字符,以与我的数据库表一致,该字段是 varchar(50)
,但后来我开始怀疑。
使用类似 Text
列类型的东西更合适还是我应该将名称的长度限制在合理的范围内?
我正在使用 SQL Server 2005,以防您的回复很重要。
编辑: 我没有看到关于类似问题的 更广泛 的问题。
原文由 EndangeredMassa 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个简单的网络表单,允许未经身份验证的用户输入他们的信息,包括姓名。我将名称字段限制为 50 个字符,以与我的数据库表一致,该字段是 varchar(50)
,但后来我开始怀疑。
使用类似 Text
列类型的东西更合适还是我应该将名称的长度限制在合理的范围内?
我正在使用 SQL Server 2005,以防您的回复很重要。
编辑: 我没有看到关于类似问题的 更广泛 的问题。
原文由 EndangeredMassa 发布,翻译遵循 CC BY-SA 4.0 许可协议
我知道我迟到了,但无论如何我都会添加这条评论,因为将来其他人很可能会带着类似的问题来到这里。
谨防根据区域设置调整列大小。首先,它会让您陷入维护噩梦,撇开人们迁移并带走他们的名字这一事实不谈。
例如,拥有这些额外姓氏的西班牙人可以搬到英语国家居住,并且可以合理地期望他们的全名被使用。俄罗斯人除了姓氏外还有父名,一些非洲人的名字可能比大多数欧洲人的名字长得多。
考虑到潜在的行数,尽可能使每一列尽可能宽。我对名字、其他名字和姓氏各使用 40 个字符,但从未发现任何问题。
原文由 Noel Cosgrave 发布,翻译遵循 CC BY-SA 2.5 许可协议
2 回答1.5k 阅读✓ 已解决
2 回答908 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答918 阅读✓ 已解决
2 回答795 阅读
1 回答793 阅读✓ 已解决
2 回答1.1k 阅读
英国政府数据标准目录 建议名字和姓氏各使用 35 个字符,或者单个字段使用 70 个字符来保存全名。