SQL: insert into a ( value ) values ( concat( 'abc' , LAST_INSERT_ID() ) )问题是:此sql语句直接运行是没有问题的 LAST_INSERT_ID()可以获取最新的主键的
但是同样的sql在IBATIS 运行时 总是LAST_INSERT_ID()获得 0不知道为什么 各位大侠能否说明一下,并且给个相应的解决方案小弟在此 谢过了

解决方案 »

  1.   

    LAST_INSERT_ID()  仅在当前SESSION内有效。你的IBATIS是不是在每次都重新开始的CONNECTION?
      

  2.   

    LAST_INSERT_ID() 仅在当前SESSION内有效.程序每次获取的时候都是新连接的话,获取到的永远是0.你可以用SELECT MAX(ID)+1 FROM A 这样来获取最大的ID。
      

  3.   


    insert into a ( value ) values ( concat( 'abc' , MAX(id) + 1 ) )
    也不行 报错
      

  4.   

     那只是个表达的方式,告诉你取出最大值+1
    insert into a ( value ) select concat('abc',max(id)) from tablex
      

  5.   

    如果插入多个字段呢?
    是这样吗 
    insert into a ( A , B ) VALUES( select concat('abc',max(id)) from tablex , 'B' )