【求助】表中的列删不掉!
报的这样的错
CREATE TABLE Course(Cno CHAR(10) PRIMARY KEY,Cname VARCHAR(20) NOT NULL,Periods SMALLINT CHECK(Periods>0),Property CHAR(4) CHECK(Property in('必修','选修')))
--创建表CREATE TABLE Course1(Cno CHAR(10) PRIMARY KEY,Cname VARCHAR(20) NOT NULL,Periods SMALLINT CHECK(Periods>0),Property CHAR(4) CHECK(Property in('必修','选修')))--执行删除列失败ALTER TABLE Course1 ALTER COLUMN Periods TINYINT/*Msg 5074, Level 16, State 1, Line 1The object 'CK__Course1__Periods__64ECEE3F' is dependent on column 'Periods'.Msg 4922, Level 16, State 9, Line 1ALTER TABLE ALTER COLUMN Periods failed because one or more objects access this column.*/--删除这个约束alter table Course1 drop constraint CK__Course1__Periods__64ECEE3F--重新执行删除列成功ALTER TABLE Course1 ALTER COLUMN Periods TINYINT
[解决办法]
--对于你的情况来说,这样就可以了。--删除这个约束alter table Course drop constraint CK__Course__Periods__0DAFOCB0 --不确定里面是0还是O。--重新执行删除列成功ALTER TABLE Course ALTER COLUMN Periods TINYINT
[解决办法]
if object_id('tb') is not null drop table tbgocreate table tb( id int, name varchar(10), age int check(age>10))go--修改出错alter table tb alter column age varchar(10)/*消息 5074,级别 16,状态 1,第 1 行对象'CK__tb__age__08012052' 依赖于 列'age'。消息 4922,级别 16,状态 9,第 1 行由于一个或多个对象访问此列,ALTER TABLE ALTER COLUMN age 失败。*/--先删除约束CK__tb__age__08012052alter table tb drop constraint CK__tb__age__08012052go--再执行修改字段alter table tb alter column age varchar(10)
[解决办法]
把约束先干掉
[解决办法]
既然是报错有依赖项 就是被约束了 找出约束删除就木问题叻
[解决办法]
修改也是一样 先去掉约束 再修改
[解决办法]
可以先禁用约束 再修改
[解决办法]