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')

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

    推荐使用第二种

  • 相关阅读:
    【洛谷 P4721】【模板】—分治FFT(CDQ分治+NTT)
    【Comet OJ】模拟赛测试 Day2题解
    【Comet OJ】模拟赛测试 Day2题解
    将本地文件夹push到github仓库
    2017-3-7
    彻底理解https!
    2017-3-2 智慧吉首调研工作
    java再巩固
    2017-3-1
    不错的博客哦
  • 原文地址:https://www.cnblogs.com/zhangchengye/p/5148545.html
Copyright © 2011-2022 走看看