任何记录插入时生成SQL Server数据库唯一编号

时间:2014-02-07 06:37:57

标签: sql sql-server database

我在数据库表中有11列,我在其中10列中插入数据。我希望在第11列中有一个像“1101等”的唯一编号。 知道我该怎么办?提前谢谢。

4 个答案:

答案 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)
)

答案 1 :(得分:0)

如果要在其他字段中包含该唯一编号,则可以使用主键操作该字段并插入该值。

如果您想要主键值,请在设计模式下打开表格,转到“身份规范”,根据需要设置“身份增量”和“身份种子”。

或者,您可以使用表格脚本,

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

)

此处主键将从12开始播种,种子值将为1。

答案 2 :(得分:0)

如果您的表定义已经到位,则可以更改列并添加标记为持久的Computed列:

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.

答案 3 :(得分:0)

create table inc
(
id int identity(1100,1),
somec char
)