SQL 返回刚插入数据的ID
处理方法在某个字段上加上identity
id int identity(1,1),
创建标识的三种方法及比较:
SQL Server 2000中,有三个比较类似的功能:他们分别是:SCOPE_IDENTITY、
IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。
IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT
不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中
的特定表所生成的值。
@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。
SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值
SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但
是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域
。
ajqc的实验:(40条本地线程,40+40条远程线程同时并发测试,插入1200W行),得出的结论是:
1.在典型的级联应用中.不能用@@IDENTITY,在CII850,256M SD的机器上1W多行时就会并发冲
突.在P42.8C,512M DDR上,才6000多行时就并发冲突.
2.SCOPE_IDENTITY()是绝对可靠的,可以用在存储过程中,连触发器也不用建,没并发冲突
SELECT IDENT_CURRENT('TableName') --返回指定表中生成的最后一个标示值
SELECT IDENT_INCR('TableName')--返回指定表的标示字段增量值
SELECT IDENT_SEED('TableName')--返回指定表的标示字段种子值
返回最后插入记录的自动编号
SELECT IDENT_CURRENT('TableName')
返回下一个自动编号:
SELECT IDENT_CURRENT('TableName') + (SELECT IDENT_INCR('TableName'))
SELECT @@IDENTITY --返回当前会话所有表中生成的最后一个标示值
SQL 返回刚插入数据的ID的更多相关文章
- 使用SQLServer2005插入一条数据时返回当前插入数据的ID
使用SQLServer2005插入一条数据时返回当前插入数据的ID 在执行完插入后 再执行 select @@identity from users 就OK 就是刚才插入的那行的 ID了 补充: @@ ...
- SQL Server output子句用法 output inserted.id 获取刚插入数据的id
--插入数据,并返回刚刚插入的数据id INSERT INTO [soloreztest] ([name]) output inserted.id VALUES ('solorez') --执行结果: ...
- 数据库返回刚插入记录的ID
--创建数据库和表create database MyDataBaseuse MyDataBase create table mytable(id int identity(1,1),name var ...
- dedecmsV5.7 插入记录并返回刚插入数据的自增ID
//插入一条数据 $sql = "INSERT INTO `table_name` (`name`,age) VALUES ('小明','23')"; $dsql->SetQ ...
- YII获取刚插入数据的id主键
单条数据时model->attributes['id']; 循环插入时使用 Yii::app()->db->getLastInsertID() 获取 循环插入时需要每次插入后重置 m ...
- [SQL]根据刚刚插入数据的 ID 向另外一张表插入数据(插入的其他字段数据需要对字符串进行分析)
比如做一个学生选课系统 数据库有3张表 students(ID,Name,Age) ,courses(ID,Name),selectedcourses(studentID,courseID)括号里是字 ...
- hibernate 返回新插入数据的Id
例如 表明 studentInfo String sql="set set nocount on studentInfo(列名,列名) values('值','值');select @@id ...
- PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
向mysql 插入数据时,很多时候我们想知道刚刚插入数据的id,这对我们很有用.下面这篇文章就详细给大家介绍了利用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID,有需要的朋友 ...
- SQL Server返回插入数据的ID和受影响的行数
首先看看数据库里面的数据(S_Id为自增长标识列): sql server 中返回上一次插入数据的ID(标识值)有三种方式: 第一种 @@IDENTITY: insert into Student(S ...
随机推荐
- countDown
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- Sublime Text 2 设置文件详解(转)
Sublime Text 2是那种让人会一眼就爱上的编辑器,不仅GUI让人眼前一亮,功能更是没的说,拓展性目前来说也完全够用了,网上介绍软件的文章和推荐插件的文章也不少,而且很不错,大家可以去找找自己 ...
- 线性回归 Linear regression(4) 局部加权回归
这篇文章将介绍过拟合和欠拟合的概念,并且介绍局部加权回归算法. 过拟合和欠拟合 之前在线性回归中,我们总是将单独的x作为我们的特征,但其实我们可以考虑将,甚至x的更高次作为我们的特征,那么我们通过线性 ...
- docker学习(一)在centos7上安装与启动docker
CentOS Docker 安装 1.Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS ...
- spring mvc 思想
目录 一.前言 二.spring mvc 核心类与接口 三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说 ...
- Python学习-str与byte类型以及编码
Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str和b ...
- scrapy爬取验证码登录网页
scrapy 验证码登录程序, https://accounts.douban.com/login # -*- coding: utf-8 -*- import scrapy import urlli ...
- LeetCode 675. Cut Off Trees for Golf Event
原题链接在这里:https://leetcode.com/problems/cut-off-trees-for-golf-event/description/ 题目: You are asked to ...
- ubuntu 指令修改时区 tzselect
修改时区 tzselect 指令只是根据提示一步步选择正确时区,但不能真正修改时区,最后输入提示的指令,然后重启,才能永久修改. aaron@ubuntu:~$ tzselect Please ide ...
- flask之bootstrap4
pip install bootstrap-flask from flask_bootstrap import Bootstrap from flask import Flask bootstra ...