主键约束如何删除??

usehealtertabledbo.hedropconstrainthe1go能检测成功,无语法错误但就是无法成功!我的表名是he列位he1,he2,he3,且he1为... use he
alter table dbo.he
drop constraint he1
go
能检测成功,无语法错误但就是无法成功!
我的表名是he
列位he1,he2,he3,且he1为主键!
程序提示:
Msg 3728, Level 16, State 1, Line 2
'he1' 不是约束。
Msg 3727, Level 16, State 0, Line 2
未能删除约束。请参阅前面的错误信息。
展开
 我来答
hao_wen123
推荐于2017-09-21 · TA获得超过301个赞
知道答主
回答量:194
采纳率:0%
帮助的人:99.7万
展开全部
你可以把表删了,在创建没主键约束的表就可以了;或者是你创建约束时指定约束名
例:create table t_stu(stuid integer not null,stuname varchar(50))
添加主键alter table t_stu add constraint p_pk priary key stuid;p_pk是约束名字
删除主键:alter table t_stu drop constraint p_pk,从你的错务信息可以看出你没有给约束起名字吧。
追问
假如我想在列he添加主键约束(名字为he11),一下是sql语句:
alter table name
add constraint he11 primary key he1
结果是不成功,检测都不能通过,你能解释一下吗?
追答
这个简单啊,加个括号就行喽!
alter table name add constraint he11 primary key (he1)
great佯装埋倦
推荐于2017-09-05 · 知道合伙人数码行家
great佯装埋倦
知道合伙人数码行家
采纳数:3258 获赞数:24607
目前就读于重庆邮电大学移动学院,电子信息工程系。

向TA提问 私信TA
展开全部

一、方法

在删除约束的时候需要显示的指定“drop index”选项来完成索引的级链删除。

例:

alter table table_name drop constraint constraint_name cascade drop index;

二、现象

在oracle10g中删除主键约束后,在插入重复数据时候仍然报“ORA-00001”错误。

三、原因

Oracle在的10g版本中对内部函数"atbdui"进行了调整,导致在删除约束的时候无法删除用户创建的索引。

这个现象被Oracle分类到了“PROBLEM”。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式