生成的ID我想要執行的形式的查詢:恢復從多個插入查詢
INSERT INTO表(FIELD1,FIELD2)SELECT FIELD1,FIELD2 FROM表WHERE ID。在(4,8,15,16, 23,42)
其中,id是table
的auto_increment主鍵。
執行這個語句後,我想知道剛纔生成的所有新ID是什麼。我怎樣才能恢復這些信息?我感興趣的是(可能)在存儲過程中這樣做,並將新生成的ID列表返回給我的應用程序代碼(可以說PHP),我希望列表與IN子句中出現的內容相關的SELECT子查詢。我認爲這會爲我在應用程序代碼中節省大量順序INSERT。這是可以實現的嗎?
做一個重寫到MySQL,你可能有一個點:) – Wrikken 2010-07-29 21:54:59
當它完全錯過了MySql標籤。不知道如何...雖然唯一不會通用的大多數品種的Sql將是Max()的調用,我會認爲... – AllenG 2010-07-29 21:58:08
然而,這是一個有趣的答案...如果我只是保留了一個只有id字段的虛擬表,然後有人希望執行這種查詢,可以首先對虛擬表進行插入操作,從中可以恢復插入標識,從而成爲它們的transaction_id「ticket」。然後我可以在INSERT INTO ... SELECT語句中選擇它作爲常量。只要插入發生「按順序」,我應該隨後可以通過在我的事務標籤上按SELECT排序來恢復它們......想法? – vicatcu 2010-07-29 22:04:40