想取得刚插入记录的id值(自动增量型),sql为:"insert into tb(A,B) values('zs','ls');SELECT SCOPE_IDENTITY();" 但不知如何取得该结果?

解决方案 »

  1.   

    select max(id) from table
    hibernate 就是这么处理的
      

  2.   

    用触发器,将记录写到某个地方。
    CREATE TRIGGER 触发器名字 AFTER INSERT ON 表名
      FOR EACH ROW
    BEGIN
        // 删除最新记录
        // 插入最新记录
    END;
      

  3.   

    用jdbc中的java.sql.Statement.getGeneratedKeys() 
      

  4.   

    想插入和取出id的操作用一步完成,在.net中这样可以:
    sql="insert into tb(A,B) values('zs','ls');SELECT SCOPE_IDENTITY();";
    SqlCommand cmd = new SqlCommand(strSQL, cn);
    string strId=cmd.ExecuteScalar().ToString();相应的java怎写?
      

  5.   

    stmt.execute("insert into tb(A,B) values('zs','ls')");
    ResultSet rs = stmt.getGeneratedKeys() ;
    String strId = rs.next().getString(1);
      

  6.   

    SQL Server可以用SELECT @@IDENTITY查出最后插入记录的ID,不知别的数据库支持不
    楼主试试不要在表中设主键和自增长列,看看这还会不会查出最后插入记录的ID。有结果了告诉我哦^_^