SQL server-自增主键
1.CREATE TABLE 表名(
字段名 [int] IDENTITY (1, 1) NOT NULL , //--(seed = 1,increment = 1) 從1開始,每次遞增1
...
)
2.在SQL SERVER中,所有整数类型的列都可以定义成自增长列,叫作“标识”,
它通过设定“标识种子”和“标识递增量”来实现功能。
列如:
列 类型 标识 标识种子 标识递增量
---- ------- ---- ------- ----------
test tinyint √ 1 1
当你插入一行后,会从1开始自动的赋值。(1、2、3、4……255)
方法为:
1、选中表;
2、右击鼠标,设计;
3、选中列(整数类型)
4、设定标识为“是“(默认为“否”)、标识种子和标识递增量(一般为1)。

3.给定指定值自增
1).当数据库表字段的列设置为自增列后,不能人为改变自增列的值
2).但有时候在导数据或公用配置过程中,有些基础设置的值是不变的或者是固定,这样在新起项目或导数据时会出现问题。
怎么才能修改自增列的值,让导入的数据按我们指定的值存放呢,
3).下面介绍一种简单的数据设置方法:
IDENTITY_INSERT
参数:ON(开始) OFF(结束)
注:此方法只可插入新值,仍然不能修改原有Identity列的值
示例:
SET IDENTITY_Insert TestTABLE ON
insert TestTABLE(IDENTITYID,Code,XX,XX)
VALUES(43,'','xx','xx');
SET IDENTITY_INSERT TestTABLE OFF
说明:
TestTable:数据库表名
IDENTITYID:自增列字段
这样我们就可以轻松进行数据导入,或写入指定值的数据了
4、取自增最新值
SELECT IDENT_CURRENT('tablename') + IDENT_INCR('tablename') as newid
IDENT_CURRENT( 'table_name' ) 返回为指定的表或视图生成的最后一个标识值。所生成的最后一个标识值可以针对任何会话和任何作用域。
SCOPE_IDENTITY 返回插入到同一作用域中的标识列内的最后一个标识值。一个范围是一个模块:存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。
IDENT_INCR ( 'table_or_view' ) 返回增量值(返回形式为 numeric (@@MAXPRECISION,0)),该值是在带有标识列的表或视图中创建标识列时指定的。
SQL server-自增主键的更多相关文章
- SQL server 自增主键重新从1开始
原文链接:http://blog.csdn.net/zhengjia0826/article/details/43149953 dbcc checkident('sys_common_switch', ...
- sql server 2000 单主键高效分页存储过程 (支持多字段排序)
sql server 2000 单主键高效分页存储过程 (支持多字段排序) Create PROC P_viewPage /* nzperfect [ ...
- SQL Server 2008设置主键为自增
环境:SQL Server 2008 问题:设置主键,将主键设为自增. 解决:点击table->选中表->design->选中需要设置主键的字段,单击右键"设置主键&quo ...
- 何查询SQL Server数据库没有主键的表并增加主键
SQL Server数据库中,如果一个表没有主键,我们该如何查询呢?本文我们主要就介绍了如何查询数据库中没有主键的表名并为其增加主键的方法,希望能够对您有所帮助. 该功能的实现代码如下: declar ...
- SQL Server 数据库添加主键,唯一键,外键约束脚本
-- 声明使用数据库use 数据库;go -- 添加主键(primary key)约束-- 基本语法-- 判断主键约束是否存在,如果存在则删除,不存在则添加if exists(select * fro ...
- SQL Server 查询表的主键的两种方式
方式1: select b.column_name from information_schema.table_constraints a inner join information_schema. ...
- 杜绝网上压根没测过就乱写之 《oracle mybatis 返回自增主键 》
面试过好多人,包括自己也属于这么一个情况: 遇到问题直接去网上查,一般都可以查到解决方案.其中也包括一些基本的面试资料的答案. 其实有很多答案也都是正确的,但是还是存在一些压根就是胡乱抄来的答案,也不 ...
- (转)Mybatis高级映射、动态SQL及获得自增主键
原文:http://www.cnblogs.com/edwinchen/p/4105278.html?utm_source=tuicool&utm_medium=referral 一.动态SQ ...
- Mybatis高级映射、动态SQL及获得自增主键
一.动态SQL 相信大家在用mybatis操作数据库时时都会碰到一个问题,假如现在我们有一个关于作者的list authorList,需要根据authorList里已有的作者信息在数据库中查询相应作者 ...
- SQL:自增主键的获取@@IDENTITY 和 SCOPE_IDENTITY 的区别
@@IDENTITY 返回当前会话所有作用域的最后一个ID SCOPE_IDENTITY() 返回当前作用域的最后一个ID 返回上面语句执行后产生的自增主键,这个是目前最可靠的方式: insert i ...
随机推荐
- Android成长之路-实现监听器的三种方法
第一种: 在Test类中 定义一个类接口OnClickListener 第二种:直接在Test类上写一个接口 其中的this相当于new OnClickListener()对象, 即class ...
- 多线程-Thread与Runnable源码分析
Runnable: @FunctionalInterface public interface Runnable { /** * When an object implementing interfa ...
- c中头文件在cpp文件里引用和.h文件引用的思考
我们在编敲代码中头文件是常常使用的. 可是头文件是应该包括在.H文件里还是在.cpp文件里.在这个其中有什么样去差别呢. 假如说我们编写了一个a.cpp .我们将a.cpp文件的变量和函数申明在a. ...
- 聊一聊Android的消息机制
聊一聊Android的消息机制 侯 亮 1概述 在Android平台上,主要用到两种通信机制,即Binder机制和消息机制,前者用于跨进程通信,后者用于进程内部通信. 从技术实现上来说,消息机制还是比 ...
- hdu 1022 Train Problem
Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- Control.DataBinding数据绑定细解
在C#操作数据库过程中,针对一般的文本控件,比如TextBox,Label等,我们赋值直接使用类似TextBox.Text=****的方式 来进行,这种方式从某种意义上来说的确是最简便的方式,但是对于 ...
- FireFox插件FirePHP调试PHP
如果你和我一样,你会在开发网页项目时候完全无法离开FireBug.这个小巧的"臭虫"是一个神奇而有用的HTML/CSS/JavaScript/Ajax调试器.但是你也许不知道这个还 ...
- 用TortoiseSVN忽略文件或文件夹(ignore)(网络摘抄记录)
Android项目需要协同一起开发时,就需要保证项目同步完整性.SVN忽略文件列表:.gradle .idea build local.properties *.iml app/*.iml app/b ...
- 封装常用的selenium方法
package com.yk.userlive.base; import java.net.MalformedURLException;import java.net.URL;import java. ...
- css3 一个简单的静态立方体
<meta charset="utf8"> <style> .cube { position: absolute; left: 50%; top: 250p ...