将nvarchar设置为数据表关系的主键

时间:2014-06-11 07:07:43

标签: sql

我在数据库中有数据表,其中Email列设置为nvarchar(100)(因为我nvarchar(MAX)时无法将其设置为主键。 enter image description here

因此它现在是主键,但我不能将它Identity Specification更改为是,所以当这是主键时,我无法与此表和另一个表建立关系。

当这是主键时,如何建立关系?

如何将Identity Specification设为是?还是有另一种方法没有这样做?

先谢谢

1 个答案:

答案 0 :(得分:2)

标识的概念适用于整数列。数据库将自动为每个新行分配一个递增的数字。标识列通常是主键。

因此varchar列成为标识列是没有意义的。 SSMS正确地将身份部分变灰。

外键可以引用任何数据类型,包括varchar(100)。必须索引外键。作为主键的列始终具有索引。

外键列及其引用的列必须具有相同的数据类型。也许你可以发布你想要链接的两个表的定义。