簡體   English   中英

Mysql獲取特定表的最后一個id

[英]Mysql get last id of specific table

我必須從特定的插入表中獲取最后一個插入ID? 讓我說我有這個代碼:

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);

如何在表blahblah3中獲取表blahblah的插入ID? LAST_INSERT_ID()僅為您提供最后一個插入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));

這樣您就不需要事先保存任何變量,這樣可以確保您在該時刻獲得最新的ID。

你可以使用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()

簡而言之,將最后一個插入ID保存在一個變量中,然后在blahblah3中使用它

你也可以在codeigniter As中通過查詢找到最后一個id

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM