• [转帖]如何准确高效的获取数据库新插入数据的主键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')

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

    推荐使用第二种

    原文地址

  • 相关阅读:
    4.内核编译和裁剪
    2.Linux技能要求
    3.字符驱动框架
    1.Linux命令
    4.类和抽象
    3.指针
    2.C++语言特性
    1.编译器
    计数排序——Counting Sort
    网关、网桥、路由器、集线器
  • 原文地址:https://www.cnblogs.com/yanshanshuo/p/10249908.html
Copyright © 2020-2023  润新知