2013-02-11 90 views
1

如何獲取MySQL爲當前插入行生成的auto_increment值,以便我可以在插入命令中使用它?例如:在單元格中使用當前插入的Auto_Increment的值

INSERT INTO aTable (aField) VALUES (AUTOINCVALUEHERE) 

這似乎並不像一個複雜的操作,但我一直無法在這裏找到任何解決方案,MySQL的文檔,或以其他方式。我意識到執行UPDATE的潛力,但我更願意如果我不需要運行多個查詢來完成此操作。

我已經試過LAST_INSERT_ID() - 它不起作用,文檔說它只是爲了給出最後一次執行查詢的值,而不是當前執行的值。

+0

的可能重複的[MySQL的觸發器來更新的字段ID的值](http://stackoverflow.com/questions/1211792/mysql-trigger-to-update-a-field-to-the -idue-of-id) – 2013-02-11 03:25:52

+0

你使用InnoDB嗎?你設置autocommit = 1嗎?如果是/否,你可以用'start transaction','commit'和其中的'last_insert_id()'來包裝插入查詢。 – ravnur 2013-02-11 08:45:59

回答

0

您需要在表中有另一個唯一的字段,例如-email-id,這樣您可以從該行獲取相應的autoincremented_id。但仍然困惑你爲什麼要在插入查詢中使用它?

"select autoincremented_id from Table where somthing_unique = value" ; 
相關問題