我在数据库中有数据表,其中Email
列设置为nvarchar(100)
(因为我nvarchar(MAX)
时无法将其设置为主键。
因此它现在是主键,但我不能将它Identity Specification
更改为是,所以当这是主键时,我无法与此表和另一个表建立关系。
当这是主键时,如何建立关系?
如何将Identity Specification
设为是?还是有另一种方法没有这样做?
先谢谢
答案 0 :(得分:2)
标识的概念适用于整数列。数据库将自动为每个新行分配一个递增的数字。标识列通常是主键。
因此varchar
列成为标识列是没有意义的。 SSMS正确地将身份部分变灰。
外键可以引用任何数据类型,包括varchar(100)
。必须索引外键。作为主键的列始终具有索引。
外键列及其引用的列必须具有相同的数据类型。也许你可以发布你想要链接的两个表的定义。