MSSQL擷取當前插入資料的id

來源:互聯網
上載者:User

    例如我們建立了一張表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')   ;

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.