簡體   English   中英

SQL Server:合理的“自動增量”技術?

[英]SQL Server: reasonable “auto increment” techniques?

我是第一次使用SQL Server 2005,過去主要使用MySQL。 我習慣於使用auto_increment在表中創建唯一的ID。

無論如何...我正在使用Java應用程序,需要執行以下操作。 假設我的表有兩列:itemID(int)和itemValue(int)。

這基本上就是我想要做的(dbconn方法只是偽代碼):

dbconn.execSQL("begin tran");
int nextID = dbconn.execSQLSelect("select max(itemID)+1 from itemTable");
dbconn.execSQLInsert("insert into itemTable values " + nextID + ", 1000");
dbconn.execSQL("commit tran");

begin / commit tran語句會處理第2行和第3行之間的可能競爭情況嗎? 還是我需要做一些與MySQL“鎖定表”相當的TSQL?

只需將itemID IDENTITY列設置為ON,然后讓MS SQL引擎對其進行處理即可。 自己處理身份增量非常不穩定。

您應該創建一個IDENTITY列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM