我建的一对多的客户和商品表如下:create table client(
 cid int primary key not null,
 name varchar2(20)
);create table product(
pid int primary key not null
pname varchar2(20),
cid int
);外健关联也建了。
当我往client中插入二条记录,product中也插入二条记录的时候,我的product中所指定的client都是1,但当我再往product中插入第三条记录的所指向的client也是1的时候怎么就不行了呢,MYSQL中好像可以的啊。

解决方案 »

  1.   

    没看懂,Cid是你插入Product表中时指定的,即使没有也能插入(除非你做了显式的外键约束)
      

  2.   

    我的这个是在oracle中做的,在sql server中就没问题
      

  3.   

    没太看懂
    是不是这个意思?
    往client里插入了两条.比如说cid一个为1,一个为2
    往product里插入了两条,两条的cid都为1
    再往product里插入第三条的时候cid还为1
    就不行了?
      

  4.   

    不好意思,说得不太明白吗,那我说清楚一点:在oracle中建了一张students表和一张teachers表,也建立了外键关系,但是我这样做的时候就出错了:
    insert into teachers values('teacher1');
    insert into teachers values('teacher2');insert into students values('stedent1',1);
    insert into students values('stedent2',1);但是当我再插入第三个学生的时候就出错了insert into students values('stedent3',1);但是,当我再往老师表里插入下面一条记录时,上面的student3这条记录又可以插入进来了
    insert into teachers values('teacher3');