2014-02-07 51 views
0

我有我的數據庫表像11列,我在他們的10插入數據。我想在第11列有一個像「1101等」這樣的唯一編號。 任何想法我應該怎麼做?提前致謝。SQL Server數據庫唯一編號生成任何記錄插入

+0

它是你想要的'auto_increment主鍵'嗎?或者它在MSSQL中調用的是什麼? –

+0

是的,我正在談論auto_increment主鍵。但我想設置像「1100」的起始值。 –

+0

我記得,有一種方法可以爲主鍵設置起始偏移量。忘了它叫什麼。 –

回答

1

的SQL Server 2012及以上可以生成Sequence

Create SEQUENCE RandomSeq 
start with 1001 
increment by 1 
Go 

Insert into YourTable(Id,col1...) 
Select NEXT VALUE FOR RandomSeq,col1.... 

否則,你可以使用Identity

Identity(seed,increment) 

您可以從1101開始的種子和1

Create table YourTable 
(
    id INT IDENTITY(1101,1), 
    Col varchar(10) 
) 
+0

我使用SQL Server 2008的 –

+0

然後使用'identity'生成序列 – praveen

+0

謝謝,它的工作。 –

0

如果你想有一個在不同的領域唯一的號碼,那麼你可以操縱與主鍵字段並插入值。

如果你想在主鍵值,然後在設計模式打開表,進入「身份規範」,載「標識增量」和「標識種子」只要你想。

或者您可以使用如表腳本,

CREATE TABLE Persons 
(
ID int IDENTITY(12,1) PRIMARY KEY, 
FName varchar(255) NOT NULL, 

) 

這裏的主鍵,將開始12和種子播種值將是1

0

遞增順序如果你有你的表定義已經到位,你可以改變列,並添加標記計算列的持久保存爲:

ALTER TABLE tablename drop column column11; 
ALTER TABLE tablename add column11 as '11' 
+right('000000'+cast(ID as varchar(10)), 2) PERSISTED ; 
--You can change the right operator value from 2 to any as per the requirements. 
--Also replace ID with the identity column in your table. 
0
create table inc 
(
id int identity(1100,1), 
somec char 
) 
相關問題