Mysql получает последний идентификатор конкретной таблицы

Я должен получить последний идентификатор вставки из конкретной вставленной таблицы ?. Допустим, у меня есть этот код:

INSERT INTO blahblah (test1, test 2) VALUES ('test1', 'test2'); INSERT INTO blahblah2 (test1, test 2) VALUES ('test1', 'test2'); INSERT INTO blahblah3 (test1, test 2, lastid) VALUES ('test1', 'test2', last id of blahblah); 

Как получить идентификатор вставки таблицы blahblah в таблице blahblah3? LAST_INSERT_ID () дает только последний идентификатор вставки

С уважением, Саймон 🙂

Вы можете использовать функцию LAST_INSERT_ID () . Попробуй это:

 INSERT INTO blahblah (test1, test2) VALUES ('test1', 'test2'); SELECT LAST_INSERT_ID() INTO @blahblah; INSERT INTO blahblah2 (test1, test2) VALUES ('test1', 'test2'); INSERT INTO blahblah3 (test1, test2, lastid) VALUES ('test1', 'test2', @blahblah); 

Это то, что вы ищите?

 SELECT id FROM blahblah ORDER BY id DESC LIMIT 1 

Если вы хотите сделать это в одном заявлении, используйте:

 INSERT INTO blahblah3 (test1, test2, lastid) VALUES ('test1', 'test2', (select MAX(id) FROM blahblah)); 

Таким образом, вам не нужно сохранять какие-либо переменные заранее, что гарантирует, что вы получите последний идентификатор в тот момент.

Вы можете использовать mysql_insert_id(); чтобы получить быстрый ответ.

Но если вы используете сайт с интенсивным движением, есть шансы на точные результаты.

Вы можете использовать функцию LAST_INSERT_ID () .

 INSERT INTO blahblah (test1, test 2) VALUES ('test1', 'test2'); //this query will return id. Save it in one variable select LAST_INSERT_ID() 

Короче говоря, сохраните последний идентификатор вставки в одной переменной, а затем используйте его в blahblah3

вы также можете найти последний id по запросу в codeigniter As

 $this->db->order_by('column name',"desc"); $this->db->limit(1); $id= $this->db->get('table name');