【发布时间】:2012-10-19 16:32:42
【问题描述】:
我有一个存储员工详细信息的表。我想更改表并将emp_code 列之一设置为主键。它的数据类型是nvarchar(max),但我无法将其设置为主键。
我运行以下查询:
ALTER TABLE user_master
ADD PRIMARY KEY (emp_code)
但它给了我一个错误:
消息 1919,第 16 级,状态 1,第 1 行
表user_master中的列emp_code的类型无法用作中的键列一个索引。
消息 1750,级别 16,状态 0,第 1 行
无法创建约束。查看以前的错误。
我该如何克服这个问题?
【问题讨论】:
-
Blob 列不能用于索引,它们需要是固定大小的。
-
必须是MAX吗? SQL Server 告诉您不能将其作为键类型。为什么不把它缩短为有用的东西呢?
-
您的 emp_code 列太宽:stackoverflow.com/questions/2863993/…
标签: sql sql-server sql-server-2008