[點晴永久免費OA]SQL Server-INSERT后返回自增長ID值
當(dāng)前位置:點晴教程→點晴OA辦公管理信息系統(tǒng)
→『 經(jīng)驗分享&問題答疑 』
insert INTO table (name) VALUES('bob'); ![]() 初初一看,貌似可以用下面這兩種方法: select MAX(id) from table; 但細(xì)細(xì)思量,這兩種方法都有問題,如果此表存在著大量并發(fā)操作時,用這個方法拿到的ID大概率不是剛剛insert生成的ID,所以上面這個方法是不保險的,只能用于單個人操作時,多人操作的話,要用其他辦法。有多種方法可以在插入命令后獲取最后插入的 ID: @@IDENTITY:它返回在當(dāng)前會話中的連接上生成的最后一個標(biāo)識值,而不管表和產(chǎn)生該值的語句的范圍 現(xiàn)在似乎更難決定哪一個將完全符合我的要求,我最喜歡 SCOPE_IDENTITY(),使用 SCOPE_IDENTITY() 獲取新的ID值方法如下: insert INTO table (name) VALUES('bob'); 如果您在插入語句中使用 select SCOPE_IDENTITY() 和 TableName,您將獲得符合您期望的確切結(jié)果。 特別注意: 如果獲取的結(jié)果是null,說明此表沒有自增長主鍵字段,上述功能生效的必要條件是表要有唯一自增長主鍵字段。 該文章在 2023/6/27 18:48:42 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |