我在oracle数据库中用如下语句进行建表操作,然后弹出如题目的错误框信息“ORA-00955: 名称已由现有对象使用”,该怎么解决?
create table students (student_id number constraint pk_student primary key, student_name varchar2(10) not null,
subject varchar2(20), score number constraint chk_score check (score between 0 and 100) not null)

解决方案 »

  1.   

    我上网搜了下好像是说我有重名的列,但我用如下语句搜过后是没有的
    select table_name from user_tables where table_name = 'STUDENTS';
      

  2.   

    select table_name from user_tables where table_name = 'STUDENTS';
    区分大小写不,要不直接先delete table students 
      

  3.   

    你这个sql在我本机创建一个问题都没有
    你先drop table students;
    删掉再建试试
      

  4.   

    真是奇怪!我把以前创建的表student(和现在相差一个字母s)删除,就可以插入了,不知道是为什么
      

  5.   

    不一定是表重名,也可能keys的name呀,checks的name呀,indexes的name呀。这些貌似都不能重名
      

  6.   

    创建表时,如果报ORA-00955名称已由现有对象使用
    但select时候,又查不到。
    还有可能。同义词重名了。
    在Synonyms(Oracle数据库,PL/SQL Developer 工具)条目下。 查看是否存在同义词。
    有的话将同义词删除就可以了。