zoukankan      html  css  js  c++  java
  • [转帖]如何准确高效的获取数据库新插入数据的主键id

    原文地址

    例如我们新建了一张表UserInformation,字段如下Id,为主键,自增,其它字段Name,Pwd,Email

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

    insert into UserInformation
    (Name,Pwd,Email) values('小明','123','111')

    我们想在新增插入数据的时候获取到插入这条数据的主键的值是多少,

    解决的方法有两种:

    1、一种是直接输入某个字段,然后查询,代码如下:

    insert into UserInformation
    (Name,Pwd,Email) values('小张','123','111') 
    select @@identity

    插入后获取,但是这种并不是完全准确的

    insert into[Test1].[dbo].[UserInformation]
    (Name,Pwd,Email) values('小张','123','111') 
    select @@identity

    涉及到数据库锁,如果调整了数据库锁,当数量级别特别大,有大量数据并发插入的时候可能会有误差。

    2、另一种方法是在插入的同时进行输出,代码如下:

    insert into UserInformation
    (Name,Pwd,Email) output inserted.Id values('小明','123','111')

    除了主键,也可以输出别的字段,准确高效。

    推荐使用第二种

    原文地址

  • 相关阅读:
    Linux中-POSIX 线程详解
    sql server 2008如何导入mdf,ldf文件
    div浏览器兼容问题
    桥(Bridge)模式
    JSTL核心标签
    filter中的dispatcher解析
    synchronized探究
    最全设计模式(转载)
    面试题总结
    企业为什么要去竞争?
  • 原文地址:https://www.cnblogs.com/yanshanshuo/p/10249908.html
Copyright © 2011-2022 走看看