当前位置:  技术问答>java相关

超级简单的问题,但是好象很烦人,没有人知道。

    来源: 互联网  发布时间:2017-03-22

    本文导语:  问题是这样的,有一个数据库,oracle,结构是这样的: 表1: 一个主键,ID,系统自动生成的,自增。还有一大堆东西,比如userName 表2: ID,外部关键字,也就是表1里面的ID,还有一大堆别的东西,比如fun。 现在是...

问题是这样的,有一个数据库,oracle,结构是这样的:
表1:
一个主键,ID,系统自动生成的,自增。还有一大堆东西,比如userName
表2:
ID,外部关键字,也就是表1里面的ID,还有一大堆别的东西,比如fun。
现在是这样的(在JAVA中)
先有一条记录,把它添加到表1中,这时候是没有ID的,然后取得从表1中取得ID,存入表2

现在的问题出来了,ID是表1的唯一有效关键字,所以你一旦把数据写如了表1,就永远不可能取得ID,因为在数据库允许两条记录除了ID不同以外别的内容完全一致。
你根本就无法判断,哪一条记录才是你刚才插入的记录。
我现在的问题是:怎么样取得那条记录的ID?记住,这是在网络环境下的程序设计。
很急,在线等待,希望高手赐教。

|
runweok(☆☆越来越堕落☆☆)的方法可以。
但是ORACLE表锁定的同时好像不能保证SEQUEANCE的同步问题。
因此,如果有并发的INSERT INTO 操作的话,可能SELECT SEQUENCE.CURRVAL
不一定是正确的SEQUENCE。
解决方式是在JAVA中保证含有INSERT INTO YOURTABLE方法的唯一性,
同时对此方法进行同步操作就可以了。
还有就是如果你的DB中除了ID不同,其他的字段可以全部相同的话,
说明你的DB设计可能有问题。
因为,总是能找到业务的逻辑唯一约束的。

|
dual是一个虚表 
先定义一个SEQUEANCE比如sequenctme seq_orderform_orderid就是了
sequenctme.currval 取出当前值指针没移动或者 seq_orderform_orderid.nextval 取出下一个值 指针也移动到下一个值

|
oracle 是没有自动增长的id的(我用的oracle8i),你是不是用的触发器实现的?是的话,用select sequance.currval from dual 可以取出刚插的id值

|
不仅仅根据时间啊,还要根据刚才输入的值一起来判断。
当然如果别人也很可能输入相同的一条记录,可以考虑别的方法。如:把自动增加改掉,取id最大值+1为新的id值。

|
应该可以用存储过程做

|
我觉着问题关键是表1不好,会允许除主键外完全相同的多条字段,是缺陷。
  类似要用自增的问题我是这样解决的,主键ID非自增,再多设置一个自增字段zizeng。不知是否适合楼主的问题。

|
加个字段取服务器当前日期和时间,然后找最後加入的就是。

    
 
 

您可能感兴趣的文章:

  • 送分问题:什么是 WRAPER? (好象SERVLET 里用到)
  • 好象在xml专栏或java专栏都可以问这个问题-xml、jsp高手请进
  • Java Servlet中跳转到JSP或HTML页面报错。好象是路径问题! 求教!
  • 请问如何为JPanel指定大小?用setBounds()和setPreferredSize()和setSize()好象都不行。前面的post都看了,没有解决问题。
  • LILO怎么启动系统的?/etc/lilo.conf文件该怎么修改?我看LINUX中的问题好象除了LILO外,就是驱动程序了。
  • 高手,一个好象CSDN还没人能解决的问题!如何获得java对象在内存中的大小???100分相谢!
  • red hat linux 9.0安装问题,不知道有人知道吗?
  • UI小问题,可我就是不知道怎么实现,或许您知道……
  • 不知道这个问题是否有人知道!
  • 我的一个问题,我不知道,你知道!
  • 【NFS问题暴高分求解】如何知道Server端有哪些目录共享?
  • 超级菜的问题,不知道网卡在那里安装。
  • 关于X库安装问题:我怎么查看我已经安装了哪些X库,并且哪些知道安装的版本号?
  • 不知道这个问题放在这里合不合适
  • 机子启动后出现BIOS怪问题!知道的告诉!
  • 很受伤,我不知道一个基本的问题,Help!
  • 一个很菜的问题!但我却不知道!
  • 一个我不知道能不能实现的问题
  • 超级郁闷,我的问题很简单,但就是不知道
  • 各位,有没有人知道光电鼠在linux下使用是否有啥问题?
  • 我的sprintf有错误,不知道什么问题。
  • 留下这样一条信息:user signal 1 ,有高手知道这一般是什么出问题吗?
  • 急!!!关于菜单的问题:怎样知道某一菜单项的在该菜单中的位置序号?
  • 初级问题,JAVA编译EJB不成功,不知道是不是path之类的问题,错误如下
  • 有关文件显示的问题,不知道如何下手!
  • 比较高级的问题哦,就是不知道可不可能?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明
  • 死锁的问题 多级锁定问题 循环锁定问题
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • [问题]双系统出现的问题!求问题的原因和解决办法!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 初学者问题。一个是编译hello world的问题,一个是配置ssh的问题
  • c/c++服务器程序内存泄露问题分析及解决
  • C程序问题:哪个高手帮我解释下下面的问题,主要是a[0]和&[0] 的区别 和编译器的问题??
  • ​部署 Docker 前必须问自己的四个问题
  • swing的问题还是jbuiler的问题??
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 菜鸟第一次安装红帽子7.2的一箩筐问题。每个问题会开个帖子,各放100分!请有安装经验的老鸟们帮忙解决。第二个问题:什么是LILO?怎么样


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3