Я должен получить последний идентификатор вставки из конкретной вставленной таблицы ?. Допустим, у меня есть этот код:
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');