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

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

    推荐使用第二种

  • 相关阅读:
    oracle 安装
    C++中 接口的定义 COM
    linux查看及改变运行级别
    BSD Apache GPL LGPL MIT
    DES MAC PIN HEX
    c语言字符输出格式化
    oracle
    Windows C++ 子目录数量
    GetProcAddress 宏
    How do I install Adobe Flash on Debian Wheezy?
  • 原文地址:https://www.cnblogs.com/zhangchengye/p/5148545.html
Copyright © 2011-2022 走看看