执行结果提示我:
ALTER TABLE 语句与 COLUMN CHECK 约束1 冲突
一般是指表中已有这个约束了。
但我
exec sp_helpconstraint 表1
根本没有约束1的存在
那为什么还会有冲突呢?要怎么解决?
(向这个表中其他列添加同样功能的约束都没有问题)
5 个解决方案
#1
是不是列中存在不满足约束1的值
#2
declare @name varchar(20)
select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('tablename') and b.id=a.cdefault and a.name='field1' and (b.name like 'DF%' or b.name like 'C%')
exec('alter table tablename drop constraint '+@name)
alter table tablename drop column field1
select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('tablename') and b.id=a.cdefault and a.name='field1' and (b.name like 'DF%' or b.name like 'C%')
exec('alter table tablename drop constraint '+@name)
alter table tablename drop column field1
#3
鲨至说得对,我有一些测试数据在里面
哈哈,真是傻瓜啊我
哈哈,真是傻瓜啊我
#4
大力写的 对我也很有启发
是不是说如何把潜在的约束去掉?
有个问题
a.cdefault是什么?是指字符型的默认值吗?
是不是说如何把潜在的约束去掉?
有个问题
a.cdefault是什么?是指字符型的默认值吗?
#5
结了吧。问题也解决了
#1
是不是列中存在不满足约束1的值
#2
declare @name varchar(20)
select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('tablename') and b.id=a.cdefault and a.name='field1' and (b.name like 'DF%' or b.name like 'C%')
exec('alter table tablename drop constraint '+@name)
alter table tablename drop column field1
select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('tablename') and b.id=a.cdefault and a.name='field1' and (b.name like 'DF%' or b.name like 'C%')
exec('alter table tablename drop constraint '+@name)
alter table tablename drop column field1
#3
鲨至说得对,我有一些测试数据在里面
哈哈,真是傻瓜啊我
哈哈,真是傻瓜啊我
#4
大力写的 对我也很有启发
是不是说如何把潜在的约束去掉?
有个问题
a.cdefault是什么?是指字符型的默认值吗?
是不是说如何把潜在的约束去掉?
有个问题
a.cdefault是什么?是指字符型的默认值吗?
#5
结了吧。问题也解决了