How to get the last insert ID from a table

后端 未结 4 904
臣服心动
臣服心动 2021-02-18 15:14

I want to get the value of the last ID insert in a table. How I can do this?

相关标签:
4条回答
  • 2021-02-18 15:30

    Well the solution that I use is:

    select id from NEW TABLE (insert into (val1, val2, ...) values ('lorem', 'ipsum', ...))
    

    This gets the id column from the last row inserted in the DB :)

    0 讨论(0)
  • 2021-02-18 15:32
    int keyId = -1;
    preparedStatement.executeUpdate();
    resultSet = preparedStatement.getGeneratedKeys();
    if (resultSet.next()) {
        keyId = rs.getInt(1);
    }
    

    https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#getGeneratedKeys()

    Update: and don't forget to create preparedStatement with the following flag Statement.RETURN_GENERATED_KEYS otherwise it won't work)))

    0 讨论(0)
  • 2021-02-18 15:36

    Have a look at this answer.

    http://www.sitepoint.com/php-database-db2/

    // get the last inserted ID into the specified table  
    // int lastInsertID(string $tblName)  
    function lastInsertID($tblName)  
    {  
     if ($this->transIsOpen())  
     {  
       $sql = "SELECT SYSIBM.IDENTITY_VAL_LOCAL() AS id FROM " . $tblName;  
       $rs = $this->query($sql);  
       return $this->fetch($rs, "id");  
     }  
     return -1;  
    }
    

    OR this

    http://www.php.net/manual/en/function.db2-last-insert-id.php#98361

    0 讨论(0)
  • 2021-02-18 15:40
    SELECT IDENTITY_VAL_LOCAL() AS VAL FROM SYSIBM.SYSDUMMY1
    

    See docs.

    0 讨论(0)
提交回复
热议问题