Varchar(max)列不允许是SQL Server中的主键

时间:2012-05-11 17:01:50

标签: sql sql-server

Varchar(max)列不允许是SQL Server中的主键。

可以成为主键的varchar类型的最大长度是多少。

这可能是一种不好的做法,但遇到了这种情况。

3 个答案:

答案 0 :(得分:17)

900字节是主键的最大长度,在我看来这是一个坏主意,为什么不使用代理键呢?

答案 1 :(得分:5)

这个问题已经回答in this thread;简短的回答是索引字段不能超过900个字节。也就是说,使用长VARCHAR字段作为索引通常是一个坏主意,因为有很多原因,如效率和可维护性。

答案 2 :(得分:3)

主键在所有其他索引中用于标识行。将一个潜在的多兆字节值作为键是没有意义的,因此通常限制任何键中的总字节数。