怎么删除表的字段的not null 约束

huxin889 2009-03-03 07:45:40
初学oracle请问一下:我在一个表employee中写了一个字段employee_id我开始的时候写了一个非空约束,但后来我发现不能在那个字段处写非空约束,我要删掉那个非空约束,该怎么办
...全文
2546 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
liaochunfly 2012-10-13
  • 打赏
  • 举报
回复
是你弄错了吧,约束也会同时删除
[Quote=引用 16 楼 的回复:]

引用 8 楼 的回复:
非空约束的处理不是LS几位的处理方法。
应该是这样:
alter table x modify column_name null;
alter table x modify column_name not null;
8楼也错了,你这是将表列的属性设为空,而不是修改列约束!!
[/Quote]
chris-li 2012-07-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
非空约束的处理不是LS几位的处理方法。
应该是这样:
alter table x modify column_name null;
alter table x modify column_name not null;
[/Quote]8楼也错了,你这是将表列的属性设为空,而不是修改列约束!!
any13678 2010-12-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 vc555 的回复:]
非空约束的处理不是LS几位的处理方法。
应该是这样:
alter table x modify column_name null;
alter table x modify column_name not null;
[/Quote]
相当好,学习了…
愚昧 2010-10-09
  • 打赏
  • 举报
回复
8楼说的最准确!
wangsong145 2009-03-06
  • 打赏
  • 举报
回复
alter table 表名 drop constraints 约束名,
或者楼主可以使用PL SQL工具,是图形化工具,里面可以看到约束,直接删除就可以了
tzh3201 2009-03-05
  • 打赏
  • 举报
回复
学习了
yangming1223 2009-03-05
  • 打赏
  • 举报
回复
如果SQL语句不熟的话,可以在oem或通过数据库管理软件解决(如pl\sql、toad);
fuyou001 2009-03-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zcs_1 的回复:]
先找出约束名称

SELECT constraint_name, search_condition
FROM USER_CONSTRAINTS
WHERE table_name=表名 and constraint_type='C';

找到约束名后,可以用下面的命令删除约束

ALTER TABLE 表名 DROP CONSTRAINT 约束名;
[/Quote]
学习
mosaic 2009-03-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 vc555 的回复:]
非空约束的处理不是LS几位的处理方法。
应该是这样:
alter table x modify column_name null;
alter table x modify column_name not null;
[/Quote]

是的呀,一路看下来,看得我胆战心惊的,怎么都在drop table啊
Raul_Gonzalez 2009-03-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 vc555 的回复:]
非空约束的处理不是LS几位的处理方法。
应该是这样:
alter table x modify column_name null;
alter table x modify column_name not null;
[/Quote]

正解!~ LZ这样就能解决问题!
tigde 2009-03-05
  • 打赏
  • 举报
回复
mark
vc555 2009-03-05
  • 打赏
  • 举报
回复
非空约束的处理不是LS几位的处理方法。
应该是这样:
alter table x modify column_name null;
alter table x modify column_name not null;
bingkunchen 2009-03-04
  • 打赏
  • 举报
回复
alter table 表名 drop constraint 约束名;--删除约束
mike_24 2009-03-04
  • 打赏
  • 举报
回复
alter table 表名 drop constraint 约束名;--删除约束
zcs_1 2009-03-03
  • 打赏
  • 举报
回复
先找出约束名称

SELECT constraint_name, search_condition
FROM USER_CONSTRAINTS
WHERE table_name=表名 and constraint_type='C';

找到约束名后,可以用下面的命令删除约束

ALTER TABLE 表名 DROP CONSTRAINT 约束名;
huxin889 2009-03-03
  • 打赏
  • 举报
回复
这方法太暴力了一点吧,呵呵
有没有用一条语句能解决的
比如删除主键约束: alter table 表名 drop constraint primary key;
ojuju10 2009-03-03
  • 打赏
  • 举报
回复
drop table 后,重新跑下建表脚本

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧