【发布时间】:2017-01-17 08:39:38
【问题描述】:
我刚刚在 MS SQL 中创建了一个如下表
create table Employee
(emp_id smallint not null,
employee_name varchar (30) not null,
salary money not null,
department varchar(30),
address varchar(40),
primary key(emp_id)
)
创建表后,我想自动填充 emp_id 列(使用标识)。所以,我试图删除列 emp_id 如下:
alter table Employee
drop column emp_id
尽管我还没有在表中插入任何行,但我收到了错误
消息 5074,级别 16,状态 1,行 1 对象 'PK__Employee__1299A86183CA4FBC' 取决于列 'emp_id'。消息 4922,级别 16,状态 9,第 1 行 ALTER TABLE DROP COLUMN emp_id 失败 因为一个或多个对象访问此列。
请帮忙!!!
【问题讨论】:
-
您好,这是因为您正在掺杂的列已在其他表格中引用。如果你真的想删除它,请先删除约束,然后删除列。
-
emp_id是您在创建表查询primary key(emp_id)中的主键,因此您应该在删除该列之前删除该主键约束 -
谢谢 Yashveer ..我也做了同样的事,它奏效了..
-
实际上有 43 个问题“ALTER TABLE DROP COLUMN failed because one or more objects access this column.”。
标签: sql sql-server