在SQL Server数据库中将文本用作主键时要使用哪种变量类型
我知道在表中使用文本作为主键的利弊在SQL Server数据库中将文本用作主键时要使用哪种变量类型,sql,sql-server,key,Sql,Sql Server,Key,我知道在表中使用文本作为主键的利弊 (有) 然而,我只是想知道我是否必须使用varchar(10)或char(10)或其他 值看起来像1-115151(长度可能不同)严格地说,您可以使用其中任何一个,但与此处的其他值一致-您将希望对可变长度项目使用varchar 当您的数据库扩展并从其他表开始外部键控时,您很有可能会因为没有固定的字符类型而节省了空间而感到高兴 如果你的钥匙长度超过了你的预期,你也会非常高兴 不要将文本数据类型用作主键,只能使用整数。这对于简化编程和SQL连接非常重要。对于这个
(有) 然而,我只是想知道我是否必须使用
varchar(10)
或char(10)
或其他
值看起来像1-115151(长度可能不同)严格地说,您可以使用其中任何一个,但与此处的其他值一致-您将希望对可变长度项目使用varchar
- 当您的数据库扩展并从其他表开始外部键控时,您很有可能会因为没有固定的字符类型而节省了空间而感到高兴
- 如果你的钥匙长度超过了你的预期,你也会非常高兴
Varchar使用的空间等于使用的字符数+2。可以放在varchar(11)或varchar(15)中的数据将在这两个文件中使用相同数量的空间 变量lenght-varchar。我只会对短字符串使用
char(n)
(这些值代表什么?这些值来自另一个数据库(我的客户),实际上是那里的主键。对于这一点,我不担心是唯一的,等等。情况并非总是如此,OP特别声明他们知道这一点。