create table S(Sno CHAR(5) not null unique,Sname char(30) unique,Status char(8),City char(20) , primary key (Sno));

解决方案 »

  1.   

    ORA-02261: 表中已存在这样的唯一关键字或主键
      

  2.   

    -- 当你在后面指定了相关字段为主键后,就不能在前面指定这个字段为 unique
    -- 修改如下:
     create table S(Sno CHAR(5) not null unique,Sname char(30) unique,Status char(8),City char(20));-- 或者修改如下:
     create table S(Sno CHAR(5) not null,Sname char(30) unique,Status char(8),City char(20),primary key(sno));-- 主键的属性是:非常、唯一(已经本身带有唯一约束啦)!
      

  3.   

    primary 已经默认建立一个唯一性的索引在主键的字段上,
    他和唯一索引的区别就是主键除了是唯一索引外,还不允许为空
    primary key = unique index+not null
    unique index = unique index
      

  4.   

    可以用多个unique的,注意别与primary key冲突
      

  5.   


    --加了主键跟你unique 冲突 多余  主键就含了唯一--要么这样
    create table S(Sno CHAR(5) not null unique,Sname char(30) unique,Status char(8),City char(20));--or
    create table S(Sno CHAR(5) not null,Sname char(30) unique,Status char(8),City char(20) , primary key (Sno));