Varchar(max)列不允许是SQL Server中的主键。
可以成为主键的varchar类型的最大长度是多少。
这可能是一种不好的做法,但遇到了这种情况。
答案 0 :(得分:17)
900字节是主键的最大长度,在我看来这是一个坏主意,为什么不使用代理键呢?
答案 1 :(得分:5)
这个问题已经回答in this thread;简短的回答是索引字段不能超过900个字节。也就是说,使用长VARCHAR字段作为索引通常是一个坏主意,因为有很多原因,如效率和可维护性。
答案 2 :(得分:3)
主键在所有其他索引中用于标识行。将一个潜在的多兆字节值作为键是没有意义的,因此通常限制任何键中的总字节数。