CodeIgniter activerecord, восстановить последний идентификатор вставки?

Есть ли какие-либо опции для получения последнего идентификатора вставки новой записи в CodeIgniter?

$last_id = $this->db->insert('tablename',
    array('firstcolumn' => 'value',
    'secondcolumn' => 'value')
);

Учитывая таблицу, состоящую из полей id (автоинкремент) firstcolumn и secondcolumn.

Таким образом вы можете использовать идентификатор insert в следующем коде.

Ответ 1

Позор мне...

Я посмотрел руководство пользователя и первая функция - $this->db->insert_id();

Это также работает со вставками activerecord...

ОБНОВЛЕНИЕ: я обновил ссылку

Ответ 2

Последний идентификатор вставки означает, что вы можете получить введенный auto increment id, используя этот метод в активной записи,

$this->db->insert_id() 
// it can be return insert id it is 
// similar to the mysql_insert_id in core PHP

Вы можете ссылаться на эту ссылку, вы можете найти еще кое-что.

Информация о выполнении запроса

Ответ 3

для конкретной таблицы вы не можете использовать $this- > db- > insert_id(). даже последняя вставка произошла давно, она может быть получена следующим образом. может быть неправильным. но хорошо работает для меня

     $this->db->select_max('{primary key}');
     $result= $this->db->get('{table}')->row_array();
     echo $result['{primary key}'];

Ответ 4

Список деталей, который помогает при запросе идентификаторов и запросов,

Извлечение последнего вставленного идентификатора: это приведет к извлечению последних записей из таблицы

$this->db->insert_id(); 

Извлечение SQL-запроса добавляет это после модального запроса

$this->db->last_query()

Ответ 5

$this->db->insert_id();

Попробуйте это как ваш желаемый вопрос.

Ответ 6

Попробуйте это.

public function insert_data_function($your_data)
{
    $this->db->insert("your_table",$your_data);
    $last_id = $this->db->insert_id();
    return $last_id;
}

Ответ 7

После запроса вставки используйте эту команду $this->db->insert_id();, чтобы вернуть последний вставленный идентификатор.

Например:

$this->db->insert('Your_tablename', $your_data);

$last_id =  $this->db->insert_id();

echo $last_id // assume that the last id from the table is 1, after the insert query this value will be 2.

Ответ 9

$this->db->insert_id()  

//пожалуйста, попробуйте это

Ответ 10

if($this->db->insert('Your_tablename', $your_data)) {
    return $this->db->insert_id();
}
return false