事务开始
 //多表插入,但是这里你要知道主表插入的ID,才能向子表中插入,如果是自增的话,应该是最后一个,所以只要知道主表的行数就行了。
 insert into maintable values(...);
 int mainID = select count(*) from maintable;
 insert into (select * from subtable where ID = mainID) values();
事务结束
只是一个思路,你看一下是否可行吧。

解决方案 »

  1.   

    count函数是返回记录数
    记录数是一个动态的数据(可以删除)
    字增性是一个相对稳定的数据
    这样不可能形成一对多,会乱掉的
      

  2.   

    对,这个问题没考虑到,这样的话你只能选择最大的出来了
    max = select max(ID) from mainTable;
    这样行不行?
      

  3.   

    应该可以吧,事务的特性ACID
    能够满足数据的一致性了,否则事务也没有用了
      

  4.   

    我本想用通用的SQL语句来实现,这样移植起来也方便。
    看来还得借助数据库特有的东西来做