读书人

插入多个表的事务处理该怎么做?多谢

发布时间: 2012-01-05 22:36:54 作者: rapoo

插入多个表的事务处理,该如何做?谢谢
用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();
}

读书人网 >J2SE开发

热点推荐