【发布时间】:2017-08-25 06:55:46
【问题描述】:
我有一列 my_id 已设置为 varchar(50) NULL。现在我想将其更改为NOT NULL 并将其添加为该表的primary key。由于还没有其他主键。
我写的如下。
ALTER TABLE my_details
ALTER COLUMN my_id varchar(50) NOT NULL;
ALTER TABLE my_details
ADD PRIMARY KEY (my_id);
但我得到一个错误:
无法在表 'my_details' 中为可为空的列定义 PRIMARY KEY 约束。无法创建约束。查看以前的错误。
如何为此编写单个查询?
【问题讨论】:
-
您不能在单个查询中执行此操作 - 您需要两个步骤 - 首先将列转换为
NOT NULL,然后在第二步中,将主键约束添加到具有新非- 可空列
标签: sql-server sql-server-2005