sqlserver的自增,SQL语句自增

sqlServer里面查询一张表里面有没有自增字段

--1 表的identity字段可以在[sys.identity_columns]找到

新安网站建设公司创新互联,新安网站设计制作,有大型网站制作公司丰富经验。已为新安1000多家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的新安做网站的公司定做!

--比如某张表table_example的自增字段可以这样找

select * from sys.identity_columns where [object_id]= OBJECT_ID('table_example')

--2 有没有是判断,这里等价于是否存在自增字段,可以这样写:

if exists(select * from sys.identity_columns where [object_id]= OBJECT_ID('table_example'))

begin

print 'Yes'

end

else

begin

print 'No'

end

如何得到SqlServer的自增ID

SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY

IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。

IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。

SCOPE_IDENTITY 和 @@IDENTITY

返回在当前会话中的任何表内所生成的最后一个标识值。

但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY

不受限于特定的作用域。

例如,有两个表 T1 和 T2,并且在 T1 上定义了 INSERT 触发器。

当将某行插入 T1 时,触发器激发,并在 T2 中插入一行。

该方案演示了两个作用域:在 T1 上的插入,以及在 T2 通过触发器的插入。

假设 T1 和 T2 都有标识列,@@IDENTITY 和 SCOPE_IDENTITY 将在 T1 上的

INSERT 语句结束后返回不同的值。

@@IDENTITY 将返回在当前会话中的任何作用域内插入的最后一个标识列的值。

这是在 T2 中插入的值。

SCOPE_IDENTITY() 将返回在 T1 中插入的 IDENTITY 值。

这是在同一个作用域内发生的最后的插入。

如果在任何 INSERT 语句作用于作用域中的标识列之前调用 SCOPE_IDENTITY()

函数,则该函数将返回 Null。

如果语句和事务失败,它们会更改表的当前标识,从而使标识列中的值出现不连贯现象。

即使未提交试图向表中插入值的事务,也永远无法回滚标识值。

例如,如果因 IGNORE_DUP_KEY 冲突而导致 INSERT

语句失败,表的当前标识值仍然会增加。

sqlserver设置主键自增

创建表的时候可以 比如ID列自增

create table T1

(

id int identity(1,1),

ccode varchar(10),

cname varchar(100)

)

sql server建表时怎么设置ID字段自增

sql

server建表时设置ID字段自增的方法有两种:

1

、在SQL

Server

Management

Studio中实现SQL

Server自增字段

打开SQL

Server

Management

Studio,打开数据库之后,在选中的表上点“修改”,在选中需要设置为自增的字段,在右下方的表设计器里选择“标识规范”,选“是”,就设定即可。

也可以在表的属性窗口中设置设置标识列:

2、使用SQL语句在程序或者查询分析器里面实现SQL

Server自增字段

sql

server

设置自增字段identity属性

(以新建数据表tablename中的id字段为例)

create

table

tablename

(

id

int

identity(1,1)

//identity表示自增列的意思,而int

identity(1,1)表示从1开始递增,每次自增1。

)

这样设置之后,tablename数据表中的id字段就是自增列。

如果想实现带前缀或者后缀的自动增加字段,不能用varchar,还是使用上面的方法创建字段,但是在读取的时候用增加前后缀的形式来显示想要的效果,例如如果希望得出结果是a001可以这么做select

'a'+convert(varchar(20),id)

from

tablename,这里的tablename是刚才建立的具体的表明。

sqlserver 怎么设置主键自增长

比方说,你要创建一个表user_info,设置的主键名称是user_id,那么可以如下设置:

create

table

user_info

(user_id

int

primary

key

identity(1,1),//主键初值为1,每次自增1,数值可变化,但要符合之前定义的类型

user_name

varchar(20)

not

null,

....

)

希望能帮到你!~

sql server中如何实现自增字段?

方法如下:

例如:

create table student(

Sno int identity(1,1) primary key,

Sname varchar(100)

)

这样我们的Sno字段就可以实现自增了,第一个参数是标识种子(就是开始的值),第二个参数是标识增值(每次增加多少)

这里我们开始为1,每次增加1

如果做插入的话,则:

insert into student values('李四')

注意values里面不要写自增字段名的值,因为数据库会自动帮你生成。

例如第一行为 1 小明

insert into student values('李四')

变为 1 小明

2 李四

扩展资料

SQL SERVER几种数据迁移

使用数据库客户端(SSMS)的界面工具。右键选择要导出数据的数据库,选择“任务”——“导出数据”,而导入则相反,导入时,SQLServer会默认创建一张新表,字段名也默认跟导入的Excel标题一样,并且会默认字段数据类型等。

当然在可以在向导进行修改。需要注意的是如果标题不是英文而是中文,默认创建字段名也是中文,这将给后面数据更新操作带来麻烦,所以最好还是以有意义的英文字段名。把数据导入后,再通过执行语句,把数据插入/更新到业务表。

从SQLServer2005开始,可以直接在SSMS上查询出来的结果复制,然后粘贴到Excel上,对于少量数据来说,是非常快速方便的,需要注意的是长数字可能会变成科学记数法的形式,提前在Excel上指定列的格式为文本即可。

导入的话,ctrl + c 复制Excel上的数据,然后在选择相关表,编辑数据,把数据直接粘贴上去即可。但是不建议直接粘贴到业务表(如果表是空白没有数据,并且字段顺序对应,可以这样操作),而是建议先粘贴到一个新建的中间表中,然后再通过语句,把数据插入/更新到业务表。

这种方法的导出导入,适合于少量的数据,如5000行以内的记录,大于5000行以上就不建议了,速度较慢,如果数据过大,还一定成功。

参考资料

百度百科——SQL


当前标题:sqlserver的自增,SQL语句自增
新闻来源:http://azwzsj.com/article/dsgpjdo.html