sql server建表时设置ID字段自增的简单方法

打开要设置的数据库表,点击要设置的字段,比如id,这时下方会出现id的列属性表 列属性中,通过设置“标识规范”的属性可以设置字段自增,从下图上看,“是标识”的值是否,说明id还不是自增字段 能够设置ID字段自增的字段必须是可自增的,比如int,bigint类型,而varchar类型是不可自增的。比如查看name的列属性时,可以看到“是标识”是否且不可更改。 点击“标识规范”,展开后,点击“是标识”会出现下拉列表按钮,可以双击设置也可以从下拉列表选择。 设置“是标识”的值是“是”之后,可以看到下面的属性会默认写上值 可以设置标识增量和标识种子。标识增量是字段每次自动增加的值,比如1,则字段每次增加1;标识种子是字段的初始值,比如1,则第一条记录的该字段值是1 设置完成后,别忘记点击“保存”

END

注意事项

设置自增字段时要注意字段的类型,不是所有字段类型都可以设置自增的

SQLServer 中含自增主键的表,通常不能直接指定ID值插入,可以采用以下方法插入。

1. SQLServer 自增主键创建语法:

identity(seed, increment)

其中

seed 起始值

increment 增量

示例:

create table student( id int identity(1,1), name varchar(100) )

2. 指定自增主键列值插入数据(SQL Server 2000)

先执行如下语句

SET IDENTITY_INSERT [ database. [ owner. ] ] { table } ON

然后再执行插入语句

最后执行如下语句

SET IDENTITY_INSERT [ database. [ owner. ] ] { table } OFF

示例:

表定义如下

create table student( id int identity(1,1), name varchar(100) )

插入数据

set IDENTITY_INSERT student ON insert into student(id,name)values(1,'student1'); insert into student(id,name)values(2,'student2'); set IDENTITY_INSERT student OFF

总结

以上所述是小编给大家介绍的sql server建表时设置ID字段自增的简单方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2025-01-20 11:28:44

sql server建表时设置ID字段自增的简单方法的相关文章

sql server-sqlserver建表时主键忘加一属性

问题描述 sqlserver建表时主键忘加一属性 现在想修改但是有其他表的外键关联了,请问怎么办,新手求助~~ 解决方案 先取消关联,再修改,再加上就是了. 解决方案二: 对,值没有改变,所以可以先取消,然后加上主键后,在关联没问题 解决方案三: 取消关联,修改属性,添加关联

sql server 2008 建表时不能输入空值

问题描述 在sqlserver2008建表时,有语文列,数据类型为float,建好后,在录入"语文"成绩时整数.小数都能录入,就是空值不能录入(不是NULL),因为有没有考试的"语文"成绩要空着,空着的自动为0,求解??? 解决方案 解决方案二:设置Defaultvalue成0ALTERTABLE[dbo].[Test]ADDCONSTRAINT[DF_Test_English]DEFAULT((0))FOR[English]GO[dbo].[Test]:表名[DF

初学者:sqlserver2005建表时 如果是应用在asp.net 中,是否必须加id 字段,并设为主键且是int型的,而且是唯一标识列?

问题描述 sqlserver2005建表时如果是应用在asp.net中,是否必须加id字段,并设为主键且是int型的,而且是唯一标识列?以前建表时,只在sqlserver2005中进行查询删除修改追加,和.net不发生关系,现在要与.net相联系,是否加id字段? 解决方案 解决方案二:加与业务数据无关的主键是数据库设计规范...和SQLServer并无关系与.NET更无关系...通常主键用连续增长的32位整型数以保证唯一性...分布式应用则推荐GUID类型...解决方案三:不用,写个存储过程就

sql server 怎么判断一个表里面的字段拆分之后是否可以在另一个表的字段里面查到数据

问题描述 sql server 怎么判断一个表里面的字段拆分之后是否可以在另一个表的字段里面查到数据 其中F_Split是分割以逗号连接的字符串的方法 怎么判断string字段拆分之后的数据是否能在@a表中的id字段找到对应的记录 insert into @a(idname)values(1'A')insert into @a(idname)values(2'B')insert into @a(idname)values(3'C')select * from @ainsert into @c(s

mysql-操作MYSQL建表时不能保存,id也不能选择自动递增

问题描述 操作MYSQL建表时不能保存,id也不能选择自动递增 急,在线等o(╯□╰)o,截图没有设置长度,其实设置了也是一样的问题,所以这个排除了 解决方案 你用的是mysql图形界面客户端软件是什么呢?我用的是SQLYog客户端,是有自增选项的. 解决方案二: 数据表定义有问题吧,不是提示说length没设置吗

SQL Server 判断表中是否存在某字段

原文:SQL Server 判断表中是否存在某字段 功能:判断表中是否存在某字段,若不存在,则新增该字段 语句: IF NOT EXIST (SELECT 1 FROM [DATABASE].SYS.SYSCOLUMNS WHERE ID=OBJECT_ID([DATABASE].[SCHEMA].[TABLENAME]) AND NAME='COLUMN_NAME') ALTER TABLE [TABLENAME] ADD [COLUMN_NAME] [COLUMN_TYPE]   p.s.

sql server建库、建表、建约束技巧

下面给大家分享下sql server建库.建表.建约束技巧,下文介绍有文字有代码. --创建School数据库之前:首先判断数据库是否存在,若存在则删除后再创建,若不存在则创建-- --exists关键字:括号里边能查询到数据则返回'true' 否则返回'false' if exists(select * from sysdatabases where name = 'School') --exists返回'true'则执行删除数据库操作-- drop database School --exi

Sql Server 数据库表查询结果导出为excel文件

相信大家常常会遇到将SqlServer查询结果导出到Excel的问题.如果导出的次数少,直接"Save Results As..."就是了; 1.1准备好查询语句 1.2选择数据库,启动导入和导出向导 1.3选择数据源 1.4选择目标 1.5 1.6 1.7 1.8 后续步骤不再附图,一直点"下一步"按钮就好. 2.但是当要分别在每个表取样,那就相当麻烦了.今天就为大家提供一个脱离office组件的可以将语句结果导出到Excel的过程,希望会对大家有帮助! ---导

sql server-在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器

问题描述 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider: SQL Network Interfaces, error: 56 - 无法从注册表中指定的位置加载 SQLUserInstance.dll.请验证 SQL Server Express 的 Loc