请教:
 create table test01
 (
tid INT AUTO_INCREMENT PRIMARY KEY  NOT NULL,
tname varchar(20)
 );
 create table test02
 (
pid INT AUTO_INCREMENT PRIMARY KEY  NOT NULL,
tid int --外键
pname varchar(20)
 );
 插入以下语句:
 insert into test01(name)values('test01');请问,表关系怎样设置才有以下数据:
表一数据:1,test01
表二数据: 1,1,test01

解决方案 »

  1.   

    insert into test01(name)values('test01');
    单凭这一条语句,怎么设置也不能在test02表中生成数据
      

  2.   

    首先你这个建表,既然都是primary key了,干麻还搞个not null,画蛇添足.
    第二table02你连外键关系都没有建references 都没有...
    第三,你这种情况,随便你怎么建关系,也不可能会得到你想要的这个结果,
     你连表之间关系是干什么的都没有搞清楚,多看一下基础书. 我问你:我打你脸一巴掌,你爸脸会疼吗?  同样道理,我得两个一起打,你们两个才疼嘛...应该比较形象吧?
      

  3.   

    表关系 是靠 库的设计来实现的,,,table02中可用 关键字references。。
    这样就建立啦。。在一个就是 你硬着头皮 就这么设计也可以 设计好不就是为了用吗,虽然表面上2表没有什么关系,但是在sql执行的时候 ,你可以联合、复合sql 来表现出表关系。。这样也是一种做法。
      

  4.   

    如果真想达到这种功能,只能用触发器了 after insert 
    然后自己写逻辑代码
    再一个,最起码你的表关联,还有约束什么的得建好吧