hit*_*ade 13 sql sql-server sql-server-2008
我有一张表,用于存储员工详细信息.我想更改表并将其中一列设置emp_code为主键.它的数据类型是nvarchar(max),但我无法将其设置为主键.
我运行以下查询:
ALTER TABLE user_master
ADD PRIMARY KEY (emp_code)
Run Code Online (Sandbox Code Playgroud)
但它给了我一个错误:
Msg 1919,Level 16,State 1,Line 1 表中的
列的类型无效,无法用作索引中的键列.emp_codeuser_master
消息1750,级别16,状态0,行1
无法创建约束.查看以前的错误.
我怎么能克服这个?
你不能使用varchar(max). 它不是为存储主键而设计的。
找出最长的员工代码,并创建一个涵盖最长情况的大小的 nvarchar。
例如最长的员工代码是 70 个字符,请尝试:-
nvarchar(100)
Run Code Online (Sandbox Code Playgroud)
……只是为了掩饰自己。
| 归档时间: |
|
| 查看次数: |
20071 次 |
| 最近记录: |