Я хочу получить значение последней вставки идентификатора в таблицу.Как я могу это сделать?
Хорошо, решение, которое я использую:
select id from NEW TABLE (insert into (val1, val2, ...) values ('lorem', 'ipsum', ...))
Получает столбец идентификатора из последней строки, вставленной в БД:)
SELECT IDENTITY_VAL_LOCAL() AS VAL FROM SYSIBM.SYSDUMMY1
См. документы .
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()
Обновление: и не забудьте создать readyStatement со следующим флагом Statement.RETURN_GENERATED_KEYS, иначе это не будет работать)))
Statement.RETURN_GENERATED_KEYS
Посмотрите на этот ответ.
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; }
ИЛИ
http://www.php.net/manual/en/function.db2-last-insert-id.php#98361