在SQL server中设置表的自动编号功能
2005-06-06 14:41
246 查看
我们都知道很多的数据库软件都为表提供了自动编号的功能,这对于进行有些表的功能是十分有用 的,可以减少很多不必要工作,由于SQL server是我最近才使用的所以,在这个过程中遇到了一些问题,但是经过查找资料和摸索总算是解决了,所以现在将自己的心得写下,希望当你遇到同样问题时,可以快速的解决.
在SQL server中要实现自动可以有两种方式:
1.通过"企业管理器",以窗口形式创建,打开如图所示的窗口,这里我们以在test数据库中创建test表的id为自动编号字段为例:
首先:通过"数据库"的弹出菜单"新建数据库" 新建一个数据库test;
然后:选择建好的test数据库,在窗口中选择"表",单击右键,在弹出的菜单选择"新建表",则会进入表设计器进行表的设计.下图是设置的效果.在设计完成后,单击关闭按钮进行保存,并将其命名为"test"
2.通过"查询分析器"以SQL方式创建,打开查询分析器,在查询窗口中输入SQL语句
create database test --创建test数据库
create table test (id int IDENTITY(1,1) not null,test text) --其中的IDENTITY(自动编号的初始舒值,自动编号的增量)即设置自动编号.
3 注意:
(1)一个表只能有一列定义为自动编号属性,
(2)在SQL server中能够进行自动编号的几种数据类型为: decimal、int、numeric、smallint、bigint 或 tinyint。
(3)在创建了自动编号的表中用sql语句插入数据时,其insert中不要包括自动编号的列即如果要在上述test表中插入一行数据,其insert语句就应为:insert into test (test) values ('this is a test table') 或 insert into test values('this is a test table'),而不能使用insert into test (id,test) values ('','this is a test table') 或者 insert into test values ('','this is a test table').否则就会出现"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'test' 中的标识列插入显式值。"的错误提示.如果你一定要在自动编号列中插入特定的行如要执行insert into test values (1,'this is not a test table') ,可以通过首先运行 set IDENTITY_insert test(即表名) on语句来实现.
在SQL server中要实现自动可以有两种方式:
1.通过"企业管理器",以窗口形式创建,打开如图所示的窗口,这里我们以在test数据库中创建test表的id为自动编号字段为例:
首先:通过"数据库"的弹出菜单"新建数据库" 新建一个数据库test;
然后:选择建好的test数据库,在窗口中选择"表",单击右键,在弹出的菜单选择"新建表",则会进入表设计器进行表的设计.下图是设置的效果.在设计完成后,单击关闭按钮进行保存,并将其命名为"test"
2.通过"查询分析器"以SQL方式创建,打开查询分析器,在查询窗口中输入SQL语句
create database test --创建test数据库
create table test (id int IDENTITY(1,1) not null,test text) --其中的IDENTITY(自动编号的初始舒值,自动编号的增量)即设置自动编号.
3 注意:
(1)一个表只能有一列定义为自动编号属性,
(2)在SQL server中能够进行自动编号的几种数据类型为: decimal、int、numeric、smallint、bigint 或 tinyint。
(3)在创建了自动编号的表中用sql语句插入数据时,其insert中不要包括自动编号的列即如果要在上述test表中插入一行数据,其insert语句就应为:insert into test (test) values ('this is a test table') 或 insert into test values('this is a test table'),而不能使用insert into test (id,test) values ('','this is a test table') 或者 insert into test values ('','this is a test table').否则就会出现"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'test' 中的标识列插入显式值。"的错误提示.如果你一定要在自动编号列中插入特定的行如要执行insert into test values (1,'this is not a test table') ,可以通过首先运行 set IDENTITY_insert test(即表名) on语句来实现.
相关文章推荐
- 在SQL server中设置表的自动编号功能
- 在SQL server中设置表的自动编号功能--具体操作
- 在SQL server中设置表的自动编号功能
- 在SQL server中设置表的自动编号功能
- 谈谈SQL Server 2005中设置自动编号字段 【转】
- 在SQL Server 2005中设置自动编号字段
- sql server 2005 里面怎样把字段设置成自动编号
- 在SQL Server 2005中设置自动编号字段
- SQL server 2005中设置自动编号字段的方法
- word 自动编号Numbering 设置tab和backspace的编号功能
- win10 sql server 2014 服务中需要设置失败后自动重启
- 在word软件中使用MathType自动编号功能
- 发现目录启用了自动目录列表功能apache如何设置。【解决方案】
- 如何设置WORD中图片自动编号
- 设置KSH的自动补全和历史命令功能
- Eclipse中自动补全功能设置,不是只有.才会提示
- SQL Server 不删除信息重新恢复自动编号列的序号的方法
- 重新设置ACCESS中表的自动递增字段的起始编号
- sql server的自动编号
- eclipse代码自动提示设置、如何配置eclipse的代码自动提示功能?