怎么让SQLServer的逐渐自动增长?

 我来答
yinzhen216
高粉答主

2018-01-03 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:211
采纳率:94%
帮助的人:13.4万
展开全部

SqlServer有3种方式设置自增列,

  1. SSMS中在图形化界面中建表时,设置自动增长的其实值及每次增量。

2. --语句建表时设置自增列,从1开始增长,每次增加1
create table test(col1 int indentity(1,1,))。

3. --修改列为从1开始增长,每次增加10
alter table test alter col1 int indentity(1,10)。

操作

  • 1、创建一个表 movie,设置字段 id 具有 identity(1,1),

  • 注:identity(start,step),中的参数start表示从start开始标号,step表示每次递增的步长数量

  • 2、当我们进行插入操作的时候,便会报如下的错误;

  • 注:mysql 上是可以这么操作的;

  • 3、解决方法是,在使用前添加一句

  • SET IDENTITY_Insert movie ON;

    注:SET IDENTITY_Insert table switch 表示是否允许table表中的

    identity 字段的插入操作,On表示允许,Off表示不允许

  • 4、有时候为了安全性,会习惯性的在操作前,允许,操作后不允许:

  • 5、注:mssql 目前只允许同时只对一张表进行

  • SET IDENTITY_Insert table ON;

    操作,所以如果考虑到在不同的表之间进行操作的话,

    需要先把前一张表给OFF 掉;

  • identity值

  • 查看当前表的indentity的值:

    dbcc checkident(table, NORESEED)

    其中 table 表示的要查看的表, NORESEED表示不会修改该值,

    如下图查询到的结果是3

  • 修改当前表的 identity 的值

    dbcc checkident(table,RESEED,value)

    其中:

    table 表示的是要修改的表;

    RESEED 表示的是identity的值会被修改;

    value 表示的是修改后的值;

    如下图所示,是把值修改成1后,查询的结果:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式