程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 如何准確高效的獲取數據庫新插入數據的主鍵id

如何准確高效的獲取數據庫新插入數據的主鍵id

編輯:關於SqlServer

 

例如我們新建了一張表UserInformation,字段如下Id,為主鍵,自增,其它字段Name,Pwd,Email

然後我們來執行一個新增插入操作:

insert into UserInformation
(Name,Pwd,Email) values('小明','123','111')

我們想在新增插入數據的時候獲取到插入這條數據的主鍵的值是多少,

解決的方法有兩種:

1、一種是直接輸入某個字段,然後查詢,代碼如下:

insert into UserInformation
(Name,Pwd,Email) values('小張','123','111')
select @@identity

插入後獲取,但是這種並不是完全准確的

insert into[Test1].[dbo].[UserInformation]
(Name,Pwd,Email) values('小張','123','111')
select @@identity

涉及到數據庫鎖,如果調整了數據庫鎖,當數量級別特別大,有大量數據並發插入的時候可能會有誤差。

2、另一種方法是在插入的同時進行輸出,代碼如下:

insert into UserInformation
(Name,Pwd,Email) output inserted.Id values('小明','123','111')

除了主鍵,也可以輸出別的字段,准確高效。

推薦使用第二種

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved