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

sin*_*ash 9 sql sql-server

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

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

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

SQL*_*ace 18

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


Jgr*_*nst 5

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