2011-03-23 50 views
0

是否有任何內置的數據庫函數(任何數據庫)可以做到這一點? IE瀏覽器。要求db創建一條記錄,然後返回自動分配給它的ID。常見的CRUD設計問題 - 獲取新添加的實體的ID

+0

是的,他們都這樣做。你必須更具體。 – skaffman 2011-03-23 08:55:59

+0

mubar:你在使用什麼數據庫系統? MySQL,Oracle,MSSQL,Access,...? – Konerak 2011-03-23 09:03:51

+0

你在用什麼數據庫? – Xhalent 2011-03-23 09:03:56

回答

0

試試這個

INSERT INTO table_name 
(id, value) 
VALUES 
id_value, value 
RETURNING id 
INTO item_id; 
+0

如果數據庫正在生成id,爲什麼要將它包含在insert語句中? – Xhalent 2011-03-23 09:04:54

+0

當然,我不需要將它放在那裏,以清楚說明插入的內容和返回的內容。 – eagerMoose 2011-03-23 09:17:01

0

對於MySQL:

INSERT INTO table_name 
(id, value) /** assuming ID is a PRIMARY KEY with AUTOINCREMENT **/ 
VALUES 
(null, value); 

SELECT LAST_INSERT_ID(); 

LAST_INSERT_ID()功能將發送最後生成的自動增量數,每個連接。