日期:2014-05-20  浏览次数:20835 次

插入多个表的事务处理,该如何做?谢谢
用JAVA实现

如:      
    要向两个表插入数据,      
    首先插入表1成功时,获得表1的ID,再向表2插入数据;      
    如果表2插入失败,      
    则表2和表1都回滚到原始状态      
       
    该如何做?

------解决方案--------------------
用一个查询语句或者其他的方法取得表一的ID,比如max(id),反正不要插入数据,然后再用事务插入两条数据
------解决方案--------------------
要实在不行就将表1插入,取得id并保存下来 如果表2的更新中出了问题,将id对应的表1中的数据删除就可以了。
------解决方案--------------------
在一个事务中执行插入就行了。
------解决方案--------------------
直接在事务中插入
然后判断事务true commit;fales rollback
------解决方案--------------------
conn.setAutoCommit(false);
在一个事务中执行插入就行了。
------解决方案--------------------
写一个数据库函数 在事物中调用这个函数
------解决方案--------------------
conn.setAutoCommit(false);
try{
// sql1
// sql2

conn.commit();
}catch(SQLException sqle) {
conn.rollback();
}