sql - type - placeholder是什么




“姓名”字段的合理长度限制是多少? (8)

我有一个简单的网络表单,可以让未经身份验证的用户输入他们的信息,包括姓名。 我给名称字段50个字符的限制,以配合我的数据库表字段是varchar(50),但后来我开始怀疑。

使用类似“文本”列类型的东西更合适吗?还是应该将名称的长度限制在合理的范围内?

我正在使用SQL Server 2005,以防万一您的回复中出现问题。

编辑:我没有看到有关类似问题的更广泛的问题。


@尼尔森:我想知道如果别人看到那里的问题。

假设你有分裂的领域。 总共有70个字符,名字35个,姓氏35个。 但是,如果您只有一个字段,则会忽略分隔名字和姓氏的空格,因此只能将您改为1个字符。 当然,这只是“一个”字符,但是这可能会导致某人输入全名和某人不一致。 因此,我会将该建议更改为“每个给定名称和系列名称为35个字符,或者一个字段为71个字符来保存全名”。


英国政府数据标准目录为每个“给定名称”和“家庭名称”建议35个字符,或者单个字段包含70个字符来保存全名。


取决于谁将使用你的数据库,例如非洲名称将使用varchar(20)来分隔姓氏和名字。 然而它不同于国家到国家,但为了节省你的数据库资源和内存,分开姓和名字段,并使用varchar(30)认为这将起作用。


在英国,有一些政府标准成功处理了大部分英国人口 - 护照办公室,驾驶员和车辆许可代理机构,契约调查办公室和NHS。 显然,他们使用不同的标准。

通过契约调查改变你的名字允许300个字符 ;

您的姓名长度没有法定限制,但我们为您的全名限定300个字符(包括空格)。

NHS使用70个字符作为患者姓名

患者姓名
格式/长度:最多an70

护照办公室允许30 + 30第一/最后和驾驶执照(DVLA)是30总数。

请注意,其他组织对于他们出示的文件会有什么限制 - 对于HM Passport Office,您的姓名和姓氏限制为30个字符,对于DVLA,您的限制总共为30个字符全名。


平均名字大约是6个字母。 这留下了43个姓。 :)似乎你可以缩短它,如果你喜欢。

主要问题是你认为你会有多少行? 我不认为varchar(50)会在你获得数百万行之前杀死你。


我们用50。


我通常使用varchar(255)(255是MySQL中varchar类型的最大长度)。


请注意,许多文化有“第二姓”,通常称为姓氏。 例如,如果你与西班牙人打交道,他们会欣赏将姓氏与“姓氏”分开。

最好的办法是为名称组件定义数据类型,根据地区使用这些数据类型作为姓氏和调整。





textbox