MSSQL获取当前插入数据的id

   例如我们新建了一张表T_User,字段如下u_id,主键,为标示符,user_name......

  然后我们来执行一个新增插入操作:

  insert into T_User(user_name,user_password,user_email,user_ip)

  values('admin','123456','32962435@qq.com','58.20.158.20') ;

  有一天,我们想在新增插入数据的时候获取到插入这条数据的u_id的值是多少,我们知道从MSSQL2005以后新增了一个output,用来输入某个值,我们就可以利用它来实现

  方法有两种;一种是直接输入某个字段,如:

  insert into T_User(user_name,user_password,user_email,user_ip) output inserted.u_id ///output inserted.u_id一定要放在 values之前,不能放在sql语句的最后面,不然是出错的,inserted是固定的,你想输入当前插入的某个字段就在后面接这个字段即可,我们想获得的是u_id所以是inserted.u_id

  values('admin','123456','32962435@qq.com','58.20.158.20') ;

  另一种方法是使用@@identity,@@identity是系统内置的一个全局变量,其左右就是输入最后一次的标示符,我们可以两步走也可以通过一步实现

  一步实现的代码如下

  insert into T_User(user_name,user_password,user_email,user_ip) output @@identity

  values('admin','123456','32962435@qq.com','58.20.158.20') ;

时间: 2024-10-14 21:20:20

MSSQL获取当前插入数据的id的相关文章

.net实现oracle数据库中获取新插入数据的id的方法_实用技巧

在sql sever中实现插入数据的自动增长是很容易的,但是在oracle数据库中实现这一操作不是很容易,同时要想在.net中实现获取新插入数据的id,而且不会出现读错的情况,就更显得困难了,为了解决在oracle数据中插入的数据能够自增id,同时获取新数据的id,并避免因并发操作而出现的id读错的问题. 数据表结构为test(id,name) 首先,解决数据id自增问题 创建一个序列sequence(sequence详解可从网上搜一下,这里不赘述) create sequence SEQ_te

php获取刚刚插入数据的ID值

例子  代码如下 复制代码 <?php //执行插入数据库的语句 //-- $getID=mysql_insert_id();//$getID即为最后一条记录的ID  ?> PHP 函数 mysql_insert_id() 是返回在最后一次执行了 INSERT 查询后,由 AUTO_INCREMENT 定义的字段的值. 还有一种方法  代码如下 复制代码 msyql_query("select last_insert_id()"); last_insert_id() 是my

ThinkPHP写数组插入与获取最新插入数据ID实例_php实例

本文实例讲述了thinkphp写数组插入与获取最新插入数据ID的实现方法.分享给大家供大家参考.具体方法分析如下: 该实例讲述了thinkphp怎么自己写数组插入,此处是以注册用户为例. 具体实现代码如下: 复制代码 代码如下: public function insert2(){  header("Content-Type:text/html; charset=utf-8");  $Dao = M("User"); // 构建写入的数据数组  $data[&quo

sqlserver中一条sql语句把插入数据的ID返回出来,oracle中sql语句要怎么写?

问题描述 sqlserver中一条sql语句把插入数据的ID返回出来,oracle中sql语句要怎么写? sqlserver中一条sql语句把插入数据的ID返回出来,oracle中sql语句要怎么写? 解决方案 oracle,sqlserver分页查询sql语句重复的数据只取一条,SQL语句如何写 解决方案二: select test.currval from dual 解决方案三: oracle里面不是差不多的吗

PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID_php技巧

前言 最近在工作中又遇到了这个问题,PHP中如何获得刚插入数据的ID(或当前发布文章的ID)呢?觉得有必要整理下详细的解决方法,方便自己也给有需要的朋友们提供以帮助,那么话不多说了,来看看详细的解决介绍. 解决方法 其实用 mysql_insert_id() 函数就可以实现的. 定义和用法 mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID. 注意:如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0. 语

查询SQL不能在同一时间内,插入数据

问题描述 查询SQL不能在同一时间内,插入数据createtablet(idint,start_timevarchar(20),end_timevarchar(20));数据记录idstart_timeend_time12010-11-0311:00:00.0002010-11-0315:00:00.000if(SQL)--查到有数据{System.out.println("不能在同一时间插入数据");insertintot(id,start_time,end_time)values(

python数据库操作常用功能使用详解(创建表/插入数据/获取数据)_python

实例1.取得MYSQL版本 复制代码 代码如下: # -*- coding: UTF-8 -*-#安装MYSQL DB for pythonimport MySQLdb as mdbcon = Nonetry:    #连接mysql的方法:connect('ip','user','password','dbname')    con = mdb.connect('localhost', 'root',        'root', 'test');    #所有的查询,都在连接con的一个模块

SQL插入数据时返回最新ID方法

SQL插入数据时返回最新ID方法 SELECT LAST_INSERT_ID().SELECT @@IDENTITY接可.但到下午那兄弟还没搞定.因为不知道怎么运行..项目都是三层的.基本是写在DBHELPER中.原因是其写入了: cmd.ExecuteNonQuery(); ---这是执行非查询语句返回受影响的行数. 其实是应该写入: cmd.ExecuteScalar(); 返回首行首列.可能是因为helper里面注释为:        /// <summary>         ///

页面添加,向一个表插入数据,如何判断某个列的值是否存在(不一定是id)如果存在就删除

问题描述 页面添加,向一个表插入数据,如何判断某个列的值是否存在(不一定是id)如果存在就删除 页面添加,向一个表插入数据,如何判断某个列的值是否存在(不一定是id)如果存在就删除 解决方案 插入前先查询,如果有存在相同数据的列删除,然后再插入! 解决方案二: 先去查询一遍,按照你要找的那个值,找到了的话,就把哪一行删除了,然后在添加.(记得用事务) 大概步骤: 1.先按照条件查询某个列是否存在: 2.删除上面查询出来的列: 3.新增新的数据 解决方案三: 添加前做一个查询表数据,跟新增对象的列