可以写成事务
在insert之后马上select max(id)
那么应该不会发生并发的问题把

解决方案 »

  1.   

    我用的mysql 3.23.44-nt,沒有處理事務的能力
    有什麼其他的方法嗎?
      

  2.   

    我也想问一下,DB2里面如何得到最新的ID!
      

  3.   

    mysql和db2里面都可以把字段设置成自增一,在oracle里面却比较麻烦
      

  4.   

    可以先insert,然后再根据其他的条件把这条select 出来啊
      

  5.   

    在insert之后马上select max(id)
    例:
    insert into Login values (5,'jack')
    然后
    select max(id) from Login
    即可查出来啦!
      

  6.   

    这样的话并发有问题吧...我觉得可以利用EJB内存主键表来处理
      

  7.   

    把该字段设为主键,insert之前先select max(id)+1,然后insert,如果抛出错误,再select max(id)+1、insert!
    还有一个方法是做一个临时表,专门处理增长字段!
      

  8.   

    参考电子工业的《实用J2EE设计模式编程指南 
    》,里边有讲主键生成策略。