bonus表的ename不是primary key

解决方案 »

  1.   

    外键定义反了吧?按照常识,应该是从bonus指向emp表才对。alter table scott.bonus
    add constraint fk_ename
    foreign key(ename)
    references emp(ename);
      

  2.   

    emp表ename字段中存在某些bonus表ename字段中没有的记录。
    先删掉这些记录:
    sql>delete emp e where not exists (select null from bonus b where e.name=b.name);
    然后才可以定义外键.
      

  3.   

    应该是数据不满足子父表关系产生的错误,就是像 tsj68(tsj) 所说的那样处理,先删除子表中不在父表里的数据,然后再重新建立外键即可。