如何在插入資料庫後返回增加的唯一ID值

2021-08-30 21:06:54 字數 997 閱讀 6469

第一:sqlserver資料庫

@@identity表示資料表中唯一的標識!

使用方法是在sql語句後面加上查詢的sql語句即可!

insert   into   tables   (colum1,colum2)  

values   ('values1','values')  

select   @@identity   as   'id'

這樣的話,執行完畢後就可以直接使用id作為新的id值了!

儲存過程為

create procedure inssendmail

(@username varchar(20))as

declare @id int

begin transaction

insert into sendmailbox(username) values(@username)

select @id=@@identity

commit transaction

return @id 

當然還有一種笨辦法:很多人就是先求最大的id值,插入完成後把最大的id值加1然後返回給使用者,但是這個 缺點太明顯了,如果有兩個使用者同時操作的話,系統不是就全亂了!  

第二:mysql資料庫

mysql的源**裡面,mysql_insert_id是這麼定義的

my_ulonglong stdcall mysql_insert_id(mysql *mysql)

mysql提供給c++,php等的api一般,有個mysql結構體。

結構體裡面有insert_id, insert_id的型別 my_ulonglong。 其實就是long long.

每次mysql_query操作在mysql伺服器上可以理解為一次「原子」操作, 資料庫的寫操作常常需要鎖表的, 是mysql應用伺服器鎖表不是我們的應用程式鎖表。

使用方法是:select last_insert_id();

很簡單,直接讀出來,放心吧,不會根 別人的id混起來的!

如何在mysql資料庫中插入中文資料

在 mysql 4.1 或更新版本,如果你要使用中文,則必須用 utf 8。如果資料庫還沒建立,你要用 utf8 charset 來建立資料庫 mysql create database bugzero db character set utf8 或者,如果非utf8 資料庫已經建立,你可用alte...

Mybatis執行批量插入返回資料庫主鍵列表

推薦閱讀 微服務還能火多久?我們都知道mybatis在插入單條資料的時候有兩種方式返回自增主鍵 1 對於支援生成自增主鍵的資料庫 增加 usegeneratekeys和keyproperty 標籤屬性。2 不支援生成自增主鍵的資料庫 使用。insert into author username,pa...

如何在MySQL中建立資料庫

mysql是一種複雜的程式。它的所有命令必須通過命令列輸入 且它不提供視覺化介面。因此,了解建立和管理資料庫的基本知識將為你節省不少時間並避免不少麻煩。參考以下方法建立乙個儲存了美國各州及其人口數的資料庫。建立資料庫。在mysql命令列中,輸入命令create database 把命令中的替換為你的...