情况如下 我有两个表A 和B 两者是一对多的关系 级B里面有一个A的id,A的id是自增类型
现在我有A和B的两部分信息 ,希望同时保存A和B 然后在B当中存放A的id相当于
insert into A values(xxxx)
select A.id from last update //我如何来实现这一步?
insert into B values(A.id,xxxx);
本来考虑select max(A.id) from A
但是如果在执行了insert into A 之后,select max(A.id) from A 之前又有insert into A的操作,那么逻辑上就出现问题要是能锁定整个表直到完成select max(A.id) from A 也能解决问题目前我用的是mysql 5 ,不知道能否处理? 或者其他数据库有此功能也可说明一下
整个功能类似hibernate的级联操作,但是必须要jdbc来操作。另外不知道是否可以使用transaction来实现锁表,请各位指教
现在我有A和B的两部分信息 ,希望同时保存A和B 然后在B当中存放A的id相当于
insert into A values(xxxx)
select A.id from last update //我如何来实现这一步?
insert into B values(A.id,xxxx);
本来考虑select max(A.id) from A
但是如果在执行了insert into A 之后,select max(A.id) from A 之前又有insert into A的操作,那么逻辑上就出现问题要是能锁定整个表直到完成select max(A.id) from A 也能解决问题目前我用的是mysql 5 ,不知道能否处理? 或者其他数据库有此功能也可说明一下
整个功能类似hibernate的级联操作,但是必须要jdbc来操作。另外不知道是否可以使用transaction来实现锁表,请各位指教
解决方案 »
- 使用ResultSet无法打开存储过程返回的结果集
- ear 部署在weblogic的问题(jsp compiler error) 谢谢
- 使用200分来解决struts中的switchaction跳转模块的错误,我有一个RAR文件,求帮忙。使用200分来解决struts中的switchaction跳转模块的错
- 将写入的内容在文本文件中换行
- 我郁闷死了,我觉得没问题的东西,却一直提示错误,希望大哥们,来看看呀~~~
- 有关对象池的问题!
- 在线等:用File类copy文件的时候怎么使源文件保留?
- 关于本地方法调用,是linux下的。
- 请大家帮帮忙?问了几天了也没人能解决,真的急死我了!(欢迎斑竹亲自答复)100分!
- 【老虎吃刺猬,无从下口】
- 求助:有一个已知数列,求这个数列中最多有几个相同的数字的方法
- java中一个严肃的问题?
你说的情况是sqlserver吧?---------------------
自己找了些解决方案
比如sql server的select @@Identity
oracle 的return 语句都可以返回
mysql 与sql2005 可以使用jdbc3的 statement来获取要是每个数据库都有支持jdbc3 的驱动就好了,可惜只是一个美好的梦
-----------------------
建议看看联机丛书,scope_identity()是当前连接任意表的上一个id,@@identity是全局任意表的上一个id,还有一个ident_current()是任意连接指定表的上一个id,用法是不同的。