`
yzhming
  • 浏览: 33058 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在主键中增加一个字段出现ora-00955错误

阅读更多
将表mytable加上一个id2字段,并使其成为主键之一,原主键名为:mytable_pk,字段为(id),步骤如下:
1.删除主键:
alter table mytable drop constraint mytable_pk cascade;
2.增加字段
alter table mytable add id2 varchar2(6);
3.设置新增字段初值
update mytable set id2='sx';
4.将新增字段改为非空
alter table mytable modify id2 not null;
5.增加主键约束
ALTER TABLE mytable ADD CONSTRAINT mytable_PK PRIMARY KEY (id2,id);
ERROR 位于第 1 行:
ORA-00955: 名称已由现有对象使用
解决办法:
由于原表可能存在同名索引,因此先执行以下语句:
drop index mytable_pk;
再执行
ALTER TABLE mytable ADD CONSTRAINT mytable_PK PRIMARY KEY (id2,id);即可
参考:http://forums.oracle.com/forums/thread.jspa?messageID=1935536&#1935536
分享到:
评论

相关推荐

    ORA-02298: 无法验证 (约束)提示未找到父项关键字的解决办法

    你要插入的表A里,有外键连接到另一个表B的主键,你在表A的外键列插入的值,在表B的主键列找不到就不能插入。 主要看两表中的数据是否一致,从表中要关联外键的字段中的数据必须包含在主表相关字段的数据内。 处理...

    Oracle 错误代码整理总结

    ORA-00904:字段名写错或是建表时最后一个字段有逗号 ORA-00907:缺少右括号 ORA-00911:无效字符 ORA-00917:缺少逗号 ORA-00918:未明确定义列 ORA-00922:丢失或无效的选项(表名等可能有空格) ORA-00923:未...

    jdbc基础和参考

    线程安全的,一个数据库对应一个Sessionfactory(一般一个应用程序对应一个SessionFactory就够了) 3.是一个很大的缓存,本身维护了一个可配置的二级缓存 4.用来构建Session对象 Configuration 1.启动和配置...

    oracle数据库创建表相关知识

    Oracle创建主键自增表,Oracle的基本操作+Oracle字段类型,命名规则和注意事项

    2009达内SQL学习笔记

    select:从一个或多个表中检索一个或多个数据列。包含信息:想选择什么表,从什么地方选择。必须要有From子句。(最常用) 当从多张表里查询的时候,会产生笛卡尔积;可用条件过滤它。 当两个表有相同字段时必须加...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    说明:Oracle中要删除一个用户,必须要具有dba的权限。而且不能删除当前用户,如果删除的用户有数据对象,那么必须加上关键字cascade。 用法:drop user 用户名 [cascade] 四、 用户权限与角色 1. 权限 Oracle中权限...

    ssh(structs,spring,hibernate)框架中的上传下载

     我们前面已经指出Oracle的Lob字段和一般类型的字段在操作上有一个明显的区别--那就是你必须首先通过Oracle的empty_blob()/empty_clob()初始化Lob字段,然后获取该字段的引用,通过这个引用更改其值。所以要完成对...

    Oracle常用问题1000问

    55. 怎么可以快速做一个和原表一样的备份表? create table new_table as (select * from old_table); 55. 怎么在sqlplus下修改procedure? select line,trim(text) t from user_source where name =’A’ order ...

    oracle安装及备份

    如果是全部导入的话,就需要将原有的用户删除,这样此用户所拥有的数据就可以直接被删除了,否则在进导入时会下面的错误提示( ORACLE error 2291 encountered )那是因为与原有一些表,或主键出现冲突所致,所以再...

    Toad 使用快速入门

    和其他的 PL/SQL 编辑工具不同,TOAD 允许在一个文件中操作多个数据库对象,可以编译一个对象、编译多个对象、编译到当前光标、从光标开始编译。在运行出现错误时,存储过程停止到有问题的语句。用户可以使用快捷...

    ORACLE9i_优化设计与系统调整

    §10.2 正确的主键字段的选择 113 §10.3 字段类型及长度的选择 113 §10.3.1 如果能用字符型就不要用数字型 114 §10.3.2 相互产生运算的数字型字段长度和精度要一致 114 §10.3.2 不要为了节省空间而将字段的长度...

Global site tag (gtag.js) - Google Analytics