SQL Server 打开或关闭自增长

在往数据库表中添加一行的时候,要针对自增列插入一个特定值的时候,这个函数就很有用了,比如表结构如:

id |  text

1  |    a

2  |    b

4  |   d

其中id列是自曾列,如果我们要插入3  |  c的话,如果没有打开自增列,肯定是插不进去的,这时候用这个函数就有作用了

代码如下:

SET IDENTITY_INSERT [Recursive] ON
 
INSERT INTO [Recursive](id,text) VALUES(3,'c')
 
SET IDENTITY_INSERT [Recursive] OFF

通常我们在导入数据的时候会用到这种方法,希望对大家有所帮助。

(0)

相关推荐

  • sqlserver2005自动创建数据表和自动添加某个字段索引

    创建数据表的SQL语句如下: string tatlename = "T_useruid";//定义一个变量.用于自动创建数据表的名称,当前表名为:T_useruid string sql = "CREATE TABLE [dbo].[" + tatlename + "]([Cid] [int] IDENTITY(1,1) NOT NULL,[Uid] [nchar](32) COLLATE Chinese_PRC_CI_AS NULL,CONSTRAIN

  • SQL Server 2008怎样添加自增列实现自增序号

    在做<机房收费系统>的时候,有的表需要添加自增列,在添加新纪录时自动添加一个序号.下面我给大家介绍两种添加方法: 一.通过T-SQL代码. 复制代码 代码如下: alter table 表名 add 列名 int IDENTITY(1,1) NOT NULL 这里用到了identity关键字:indentity(a,b),a b均为正整数,a表示开始数,b表示步长,indentity(1,1)就代表从1开始,每次增加1 二.通过企业管理器 打开对象资源管理器,新建表,如下图  插入列,设置列属

  • SQL SERVER 自增列

    declare @Table_name varchar(60) set @Table_name = ''; if Exists(Select top 1 1 from sysobjects           Where objectproperty(id, 'TableHasIdentity') = 1             and upper(name) = upper(@Table_name)         )     select 1else select 0 -- or if Ex

  • SqlServer Mysql数据库修改自增列的值及相应问题的解决方案

    SQL Server 平台修改自增列值 由于之前处理过sql server数据库的迁移工作,尝试过其自增列值的变更,但是通过SQL 语句修改自增列值,是严格不允许的,直接报错(无法更新标识列 '自增列名称').sql server我测试是2008.2012和2014,都不允许变更自增列值,我相信SQL Server 2005+的环境均不允许变更字段列值. 如果非要在SQL Server 平台修改自增列值的,那就手动需要自增列属性,然后修改该列值,修改成功后再手动添加自增列属性.如果在生成环境修改

  • SQL Server 中调整自增字段的当前初始值

    前几天在把一个Communtiy Server 的数据库从SQL 2000升级到SQL 2005 的时候,碰到一个怪异的问题,报如下错误: Violation of PRIMARY KEY constraint 'PK_cs_Threads'. Cannot insert duplicate key in object 'dbo.cs_Threads'. 分析进去后,竟然发现这个表的自增字段数据库中已经达到了6144,而数据库维护的这个表的初始自增值只到6109. 解决方法很简单,利用以下SQL

  • SQL Server设置主键自增长列(使用sql语句实现)

    1.新建一数据表,里面有字段id,将id设为为主键 复制代码 代码如下: create table tb(id int,constraint pkid primary key (id)) create table tb(id int primary key ) 2.新建一数据表,里面有字段id,将id设为主键且自动编号 复制代码 代码如下: create table tb(id int identity(1,1),constraint pkid primary key (id)) create

  • SQL Server修改标识列方法 如自增列的批量化修改

    通过界面设计上是能手工操作的,无法达到我批量修改几千台服务器. 因为此了一个脚本来批量执行. 环境:redgate + mssql 2008 r2 以下代码根据自己的业务稍做修改即使用. 复制代码 代码如下: --允许对系统表进行更新 exec sp_configure 'allow updates',1 reconfigure with override GO --取消标识列标记 update syscolumns set colstat = 0 where id = object_id('t

  • SQL Server数据表字段自定义自增数据格式的方法

    本文实例讲述了SQL Server数据表字段自定义自增数据格式的方法.分享给大家供大家参考,具体如下: --修改数据表SYS_Company中字段CompanyId自定义自增约束 ALTER TABLE [dbo].[SYS_Company] Add Constraint DF_SYS_Company_CompanyId DEFAULT ([dbo].[f_PrimaryCode_SYS_Company]()) FOR [CompanyId] --Go --删除约束 Alter table SY

  • Oracle 实现类似SQL Server中自增字段的一个办法

    相关代码如下: 1. 创建sequence: 复制代码 代码如下: CREATE SEQUENCE SEQU_DATA_DATAINFO INCREMENT BY 1 START WITH 1 NOCYCLE NOCACHE NOORDER; 2. 创建触发器: 复制代码 代码如下: create or replace TRIGGER TRIG_TEST BEFORE INSERT ON TABLE1 FOR EACH ROW DECLARE tmpVar NUMBER; BEGIN tmpVa

  • SQL Server 打开或关闭自增长

    在往数据库表中添加一行的时候,要针对自增列插入一个特定值的时候,这个函数就很有用了,比如表结构如: id |  text 1  |    a 2  |    b 4  |   d 其中id列是自曾列,如果我们要插入3  |  c的话,如果没有打开自增列,肯定是插不进去的,这时候用这个函数就有作用了 复制代码 代码如下: SET IDENTITY_INSERT [Recursive] ON   INSERT INTO [Recursive](id,text) VALUES(3,'c')   SET

  • 如何快速删掉SQL Server登录时登录名下拉列表框中的选项

    问题: 我以前创建了一个登录名如kpi,之后在"安全性-登录名" 里删掉了,但是每次登录时,登录名的下拉框中总是能显示登录名kpi,怎么把它删掉呢? 解决方案: 1).SQL Server 2008 R2和SQL Server 2008 先关闭数据库登录窗口,然后删除: %AppData%\Microsoft\Microsoft SQL Server\100\Tools\Shell\下的SqlStudio.bin文件.(直接在资源管理器中粘贴路径)再打开SSMS就看不到了. 2).SQ

  • SQL Server 2008数据库设置定期自动备份的方法

    1.说明 日常工作中利用SQL SQLSERVER 2008的维护计划对数据库进行定期自动备份,这样一方面可以对数据库进行备份保证数据安全,另一方面也可以减轻对维护人员的负担.SQL Server2008 本身具有定期自动备份功能,我们只需要通过简单的配置就可以实现非常简单高效的自动备份功能. 下面话不多说了,来一起看看详细的介绍吧 2.打开SQL Server代理服务 要实现自动备份功能,首先要保证SQL Server的"SQL Server(代理)"服务已经打开. 如果没有看到这个

  • Navicat远程连接SQL Server并转换成MySQL步骤详解

    前言 最近项目中遇到用 SQL Server的程序,以前没用过这个数据库,于是尝试将其转换为 MySQL 的格式,可是不想在本地安装 SQL Server,于是决定在一个远程的 Windows 服务器上安装,并在本地连接它,然而在实现过程中遇到了诸多问题,记录于此.方便自家或者大家在需要的时候参考借鉴,下面来一起看看吧. 环境信息 先说一下环境,服务器的系统是 Windows Server 2016 Datacenter,数据库是 SQL Server 2016 Express. 本地这面是 W

  • sql server学习基础之内存初探

    一. 前言 对于sql server 这个产品来说,内存这块是最重要的一个资源, 当我们新建一个会话,相同的sql语句查询第二次查询时间往往会比第一次快,特别是在sql统计或大量查询数据输出时,会有这么感觉.除了第一次要编译生成执行计划,  在CPU,I/O 的影响外,最主要的是第二次查询是从内存缓存中读出,为什么是这样,sql server 内存里存储了什么,它与windows内存又有什么区别?  参考了一些资料 下面来试着讲讲. 二. 内存和硬盘 为什么内存是宝贵的,在每个系统上都是有限的,

  • Zabbix监控SQL Server服务状态的方法详解

    SQL Server数据库的服务(SQL Server (MSSQLSERVER).SQL Server Agent (MSSQLSERVER)等服务)一般配置成自动启动,但是有时候有些服务组件也会突然停止.有些是因为异常或Bug,有些是因为配置缘故.有些是因为非规范操作(例如重启SQL Server (MSSQLSERVER)时关闭了SQL Server Agnt服务,但是没有检查或重启这个服务).那么监控SQL Server的服务状态也是数据库监控里面的一项常规工作. 以前我们用Solarw

  • SQL Server附加数据库时出现错误的处理方法

    目录 前言 一.如何附加数据库? 二.无法升级数据库,出现(539类似版本号不匹配)错误解决办法 1.常见的无法附加数据库时,出现的错误 2.无法升级数据库的解决办法 总结 前言 SQL Server 是数据库软件中比较常见且实用的软件,它的集成度很高,且功能非常强大.很多类型的网站系统后台数据库都依赖于SQL Server.但是,对于初学者而言,在操作过程中总是会出现各种各样的错误.现在,我对“无法升级数据库”这种报错信息,做详细处理流程的讲解. 一.如何附加数据库? 1.选择要添加的数据库文

  • SQL Server 游标语句 声明/打开/循环实例

    SQL Server游标语句使用方法: 复制代码 代码如下: --声明一个游标 DECLARE MyCursor CURSOR FOR SELECT TOP 5 FBookName,FBookCoding FROM TBookInfo//定义一个叫MyCursor的游标,存放for select 后的数据 --打开一个游标 OPEN MyCursor//即打开这个数据集 --循环一个游标 DECLARE @BookName nvarchar(2000),@BookCoding nvarchar(

  • SQL Server误区30日谈 第3天 即时文件初始化特性可以在SQL Server中开启和关闭

    本系列文章是我在sqlskill.com的PAUL的博客看到的,很多误区都比较具有典型性和代表性,原文来自T-SQL Tuesday #11: Misconceptions about.... EVERYTHING!!,经过我们团队的翻译和整理发布在AgileSharp和博客园上.希望对大家有所帮助. 误区 #3: 即时文件初始化特性可以在SQL Server中 a)开启 和 b)关闭 a)是不允许的  b)是允许的 即时文件初始化是一个在SQL Server 2005以及之上的版本鲜为人知的特

随机推荐