2016-03-02 2 views
0

Использование My_Model и mySQL от Jamie Rumbelow. Я не могу найти, как получить последний вставленный идентификатор в конкретной таблице. Например,Как получить последний или следующий Id

Table_A 

--------+ 
id  | 
--------+ 
1  | 
--------+ 
2  | 
--------+ 

Я стараюсь ниже код, но это возвращение int(0)

$id = $this->Model_teacher->_database->insert_id(); 
+0

Просьба уточнить, какие рамки или библиотеки вы используете, ваш код для вставки в первую очередь, то, что вы решили попробовать '$ this- > Model_teacher -> _ database-> insert_id() '. Сейчас неясно, как кто-то может вам помочь. – skrilled

+1

Я использую PHP CodeIgniter и использую My_Model Джейми Румбелова. Я хочу получить последний идентификатор таблицы (например, teacherId) ... Я хочу манипулировать идентификатором для другого столбца, тогда я хочу вызвать фактический оператор insert. – fresher

ответ

1

Я нашел библиотека, которую вы используете. https://github.com/jamierumbelow/codeigniter-base-model/blob/master/core/MY_Model.php

public function insert($data, $skip_validation = FALSE) 
    { 
     if ($skip_validation === FALSE) 
     { 
      $data = $this->validate($data); 
     } 
     if ($data !== FALSE) 
     { 
      $data = $this->trigger('before_create', $data); 
      $this->_database->insert($this->_table, $data); 
      $insert_id = $this->_database->insert_id(); 
      $this->trigger('after_create', $insert_id); 
      return $insert_id; 
     } 
     else 
     { 
      return FALSE; 
     } 
    } 

Когда вставка прошла успешно, она возвращает $insert_id;

$id = $this->Model_teacher->insert(...); 
+0

Можно ли в последний раз вставить ID. поэтому я могу сделать +1 и подготовить значение для другого столбца, а затем подготовить окончательные данные вставки. В противном случае мне нужно сначала вставить, а затем обновить одну и ту же вставленную запись. – fresher

0

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

Возвращает идентификатор последней вставленной строки

$con -> lastInsertId(); 
+0

небольшое описание всегда намного лучше с кодом. – urfusion

+0

@urfusion: 'lastInsertId' =' last + Insert + Id' Не понятно? – AliN11

+0

в значительной степени прозрачный. Я говорю о стандарте, который следует использовать. – urfusion

Смежные вопросы