当前位置: 首页 > 面试题库 >

在将数据插入表中之前是否可以获取Id(IDENTITY)的新值?

穆高澹
2023-03-14
问题内容

在表中插入数据之前,是否可以获取Id(IDENTITY)的新值?

可以这样写:

INSERT INTO Table1
SELECT *GET_NEW_IDENTITY*, Field1, Field2 FROM Table2

我需要Id的值,因为我想在Table1中插入数据,然后 在另一个表中插入具有链接到Table1 (带有Id) 的外键的数据


问题答案:

IDENT_CURRENT。返回为指定的表或视图生成的最后一个标识值。生成的最后一个身份值可以用于任何会话和任何范围。

SCOPE_IDENTITY。返回插入到同一作用域的标识列中的最后一个标识值。范围是一个模块:存储过程,触发器,函数或批处理。

OUTPUT。从受INSERT,UPDATE,DELETE或MERGE语句影响的每一行返回信息或基于表达式的信息。[…]在执行INSERT或UPDATE操作之后,OUTPUT子句可用于检索标识或计算列的值。



 类似资料:
  • 在下面的代码中,我得到。我读到,也可以直接从获取最后插入的行id。在我的代码中,我把空插入改为长,并尝试了许多其他的东西,就像我在互联网上找到的例子一样,但是每次我都会出错。你想给我提供一个代码/解决方案,从@插入获取行/用户ID吗? 实体 存储库 查看模型 片段/活动

  • 问题内容: 我认为这是对的,但我在网上找不到任何可确认的信息。我可以使用last_insert_id()获取为autoincrement字段生成的第一个ID,但是我可以假定下一条记录将具有顺序ID吗?还是其他用户可以获取一个ID,以使生成的ID不连续? 示例:将值(1,2),(3,4),(5,6),…,(10000,10001)插入mytable(asdf,qwer); 如果mytable有一个a

  • 本文向大家介绍ThinkPHP写数组插入与获取最新插入数据ID实例,包括了ThinkPHP写数组插入与获取最新插入数据ID实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkphp写数组插入与获取最新插入数据ID的实现方法。分享给大家供大家参考。具体方法分析如下: 该实例讲述了thinkphp怎么自己写数组插入,此处是以注册用户为例。 具体实现代码如下: 希望本文所述对大家的Th

  • 假设我在我的一个表中执行MySQL操作,该表具有列,该列被设置为和。 如何获取查询以输出同一查询中新生成的主键的值? 目前,我正在运行第二个查询来检索id,但这似乎不是一个好的做法,因为这可能会产生错误的结果。 如果这是不可能的,那么什么是最佳实践,以确保我检索正确的ID?

  • 问题内容: 在MySQL中,您可以像这样插入多行: 但是,尝试执行此类操作时出现错误。是否可以一次在SQLite数据库中插入多行?这样做的语法是什么? 问题答案: 更新 正如BrianCampbell在此处指出的那样,SQLite 3.7.11及更高版本现在支持原始文章的更简单语法 。但是,如果您希望在旧数据库之间实现最大兼容性,则所示的方法仍然适用。 原始答案 如果有特权,River的回答:您可

  • 问题内容: 我使用触发器来插入行,并希望使用上一个创建的ID供后续查询使用。 我该怎么办? 代码如下: 问题答案: 您是否看过LAST_INSERT_ID()?但要注意: 如果使用单个INSERT语句插入多行,则LAST_INSERT_ID()仅返回为第一个插入行生成的值。