MSSQL獲取當前插入數據的id


    例如我們新建了一張表T_User,字段如下u_id,主鍵,為標示符,user_name......

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

     insert into T_User(user_name,user_password,user_email,user_ip)
values('admin','123456','32962435@qq.com','58.20.158.20')   ;

     有一天,我們想在新增插入數據的時候獲取到插入這條數據的u_id的值是多少,我們知道從MSSQL2005以后新增了一個output,用來輸入某個值,我們就可以利用它來實現

  方法有兩種;一種是直接輸入某個字段,如:

insert into T_User(user_name,user_password,user_email,user_ip)  output inserted.u_id   //output inserted.u_id一定要放在 values之前,不能放在sql語句的最后面,不然是出錯的,inserted是固定的,你想輸入當前插入的某個字段就在后面接這個字段即可,我們想獲得的是u_id所以是inserted.u_id
values('admin','123456','32962435@qq.com','58.20.158.20')   ;

   另一種方法是使用@@identity,@@identity是系統內置的一個全局變量,其作用就是輸入最后一次的標示符,我們可以兩步走也可以通過一步實現

一步實現的代碼如下

   insert into T_User(user_name,user_password,user_email,user_ip)  output @@identity
values('admin','123456','32962435@qq.com','58.20.158.20')   ;

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM