SQL 在自增列插入指定数据的操作方法
SQL Server 中数据表往往会设置自增列,常见的比如说 首列的ID列。 往数据表插入新数据的时候,自增列是跳过的,无需插入即会按照设置的自增规则进行列增长。那么,如果我们想往自增列插入我们指定的数据时该怎么做呢?
一:建立一张简单的测试表
CREATE TABLE randy_test (id INT IDENTITY ( 1 , 1 ), num INT )
二:如果强行插入数据时:
INSERT INTO randy_test VALUES (1,11)
消息 8101,级别 16,状态 1,第 1 行
仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'randy_test'中的标识列指定显式值。
可以看到,数据库提示 不能给标识列指定显示值,除非 将数据表设置IDENTITY_INSERT为ON
三:设置标识列插入开关 开启,然后执行我们的插入操作
SET IDENTITY_INSERT randy_test ON INSERT INTO randy_test (id,num) VALUES (1,11); INSERT INTO randy_test (id,num) VALUES (2,22); set identity_insert randy_test OFF (1 行受影响) (1 行受影响)
结果如下图:
SELECT *FROM randy_test AS rt id num 1 11 2 22
总结
以上所述是小编给大家介绍的SQL 在自增列插入指定数据的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
MySQL自增列插入0值的解决方案
在将数据库从MSSQL迁移到MySQL的过程中,基于业务逻辑的要求,需要在MySQL的自增列插入0值.在MSSQL中是这样完成的: 复制代码 代码如下: string sql;sql = " set identity_insert dbo.AppUsers on " + " insert dbo.AppUsers (Id, IsLocked, IsMustChangeLocalPassword, IsAvailable, Name, Sequence, CreatedBy,
-
Node.js下向MySQL数据库插入批量数据的方法
项目(nodejs)中需要一次性插入多笔数据到数据库,数据库是mysql的,由于循环插入的性能太差,就像使用批量插入的方法提高数据的插入性能. 批量插入的数据库的表结构如下: 1.数据库连接 var mysql = require('mysql'); // 数据库信息 var connection = mysql.createConnection({ host : 'localhost', user : '数据库用户名', password : '数据库登录密码', database : '操作
-
Mysql使用insert插入多条记录 批量新增数据
如果要向table1中插入5条记录,下面写法是错误的: INSERT INTO table1 (id,name) VALUES(1,小明,2,小强,3,小杜,4,小李,5,小白); MySQL将会抛出下面的错误 ERROR 1136: Column count doesn't match value count at row 1 而正确的写法应该是这样: INSERT INTO t able1(i,name) VALUES(1,'小明'),(2,'小强'),(3,'小杜'),(4,'小李'),(
-
Android批量插入数据到SQLite数据库的方法
Android中在sqlite插入数据的时候默认一条语句就是一个事务,因此如果存在上万条数据插入的话,那就需要执行上万次插入操作,操作速度可想而知.因此在Android中插入数据时,使用批量插入的方式可以大大提高插入速度. 有时需要把一些数据内置到应用中,常用的有以下几种方式: 1.使用db.execSQL(sql) 这里是把要插入的数据拼接成可执行的sql语句,然后调用db.execSQL(sql)方法执行插入. public void inertOrUpdateDateBatch(List<
-
mysql 从一个表中查数据并插入另一个表实现方法
mysql 从一个表中查数据并插入另一个表实现方法 不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定导入字段. 本文就将以MySQL数据库为例,介绍如何通过SQL命令行将某个表的所有数据或指定字段的数据,导入到目标表 中.此方法对于SQLServer数据库,也就是T-SQL来说,同样适用 . 类别一. 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法: INSERT
-
MySQL使用UNIQUE实现数据不重复插入
SQL UNIQUE 约束 UNIQUE 约束唯一标识数据库表中的每条记录. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证. PRIMARY KEY 拥有自动定义的 UNIQUE 约束. 请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束. 下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 UNIQUE 约束: CREATE TABLE Persons ( Id_
-
SQL 在自增列插入指定数据的操作方法
SQL Server 中数据表往往会设置自增列,常见的比如说 首列的ID列. 往数据表插入新数据的时候,自增列是跳过的,无需插入即会按照设置的自增规则进行列增长.那么,如果我们想往自增列插入我们指定的数据时该怎么做呢? 一:建立一张简单的测试表 CREATE TABLE randy_test (id INT IDENTITY ( 1 , 1 ), num INT ) 二:如果强行插入数据时: INSERT INTO randy_test VALUES (1,11) 消息 8101,级别 16,
-
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
-
Sql Server数据把列根据指定内容拆分数据的方法实例
今天由于工作需要,需要把数据把列根据指定的内容拆分数据 其中一条数据实例 select id , XXXX FROM BIZ_PAPER where id ='4af210ec675927fa016772bf7dd025b0' 拆分方法: select t3.id ,t3.XXXX as XXXX from ( select A.id , B.XXXX from ( SELECT id, XXXX = CONVERT(xml,'<root><v>' + REPLACE(XXXX
-
解析sql中得到刚刚插入的数据的id
LAST_INSERT_ID:LAST_INSERT_ID 是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变.在多用户交替插入数据的情况下max(id)显然不能用. 这就该使用LAST_INSERT_ID了,因为LAST_INSERT_ID是基于Connection的,只要每个线程都使用独立的 Connection对象,LAST_INSERT_ID函数将返回该Connection对AUTO_INCREMENT列最新的insert or update
-
在SQL Server数据库中为标识(IDENTITY)列插入显式值
如果我们在标识列中插入值,例如: insert member(id,username) values(10,'admin') 则在查询分析器里面会返回错误信息: 引用内容 服务器: 消息 544,级别 16,状态 1,行 1 当 IDENTITY_Insert 设置为 OFF 时,不能向表 'member' 中的标识列插入显式值. 而在ASP程序中会返回错误信息: 引用内容 Microsoft OLE DB Provider for SQL Server 错误 '80040e14' 当 ID
-
MySQL使用select语句查询指定表中指定列(字段)的数据
本文介绍MySQL数据库中执行select查询语句,查询指定列的数据,即指定字段的数据. 再来回顾一下SQL语句中的select语句的语法: Select 语句的基本语法: Select <列的集合> from <表名> where <条件> order by <排序字段和方式> 如果要查询某个表中的指定列的所有数据,则查询语句可以写作: select 列名1,列名2,列名3... from <表名> 要说明一个,这个语句后面仍然可以使用wher
-
Python读取excel指定列生成指定sql脚本的方法
需求 最近公司干活,收到一个需求,说是让手动将数据库查出来的信息复制粘贴到excel中,在用excel中写好的公式将指定的两列数据用update这样的语句替换掉. 例如: 有个A库,其中有两个A.01和A.02字段,需要将这两个字段替换到下面的sql语句中, update A set A.01 = 'excel第一列的值' where A.02 = 'excel第二列的值' 虽然excel中公式写好了,但是还需要将总计的那行复制粘贴到txt文档中,所以索性太麻烦,果断用Python写了一个自动化
-
sql查询语句教程之插入、更新和删除数据实例
目录 前言 1.插入数据 1.1 为表的所有字段插入数据 1.insert语句中不指定具体的字段名 2.insert语句中列出所有字段 1.2 为表的指定字段插入数据 1.3 同时插入多条记录 1.4 将查询结果插入到表中 2.更新数据 3.删除数据 总结 前言 数据库通过插入.更新和删除等方式来改变表中的记录.插入数据是向表中插入新的记录,通过 INSERT 语句来实现.更新数据是改变表中已经存在的数据,使用UPDATE 语句来实现.删除数据是删除表中不再使用的数据,通过DELETE 语句来实
-
JS 在数组指定位置插入/删除数据的方法
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. 语法 arrayObject.splice(index,howmany,item1,.....,itemX) 参数说明 参数 描述 index 必需.整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置. howmany 必需.要删除的项目数量.如果设置为 0,则不会删除项目. item1, -, itemX 可选.向数组添加的新项目. 实例 添加一个元素 var array = [1,2,3,4,6]; ar
随机推荐
- Go语言中转换JSON数据简单例子
- javascript密码验证
- Windwos下使用winscp和批处理实现通过SSH端口上传文件到Linux服务器上
- 服务器web工具 php环境下
- 采用memcache在web集群中实现session的同步会话
- Ping服务的php实现方法,让网站快速被收录
- Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
- firefox下frameset取不到值的解决方法
- 非常简单的Ajax请求实例附源码
- 网站上面有这种切换效果
- PHP程序员玩转Linux系列 Nginx中的HTTPS详解
- 在ASP.NET 2.0中操作数据之四十一:DataList和Repeater数据分页
- 使用函数递归实现基于php和MySQL的动态树型菜单
- 用css实现的灰度/原色连接效果
- Swing拆分窗格控件JSplitPane使用详解
- 使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
- Python安装及Pycharm安装使用教程图解
- Android 8.0不能自动安装APK问题的解决方法(完美适配)
- ORACLE中段的HEADER_BLOCK示例详析
- java实现门禁系统