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