MySqlCommand.LastInsertedId 如何工作?

2024-01-01

在我的一个项目中,我必须从数据库中获取最后插入的 ID,以便我可以将新插入的数据与内存中的数据同步,而无需执行SELECT * FROM my_db;查询,即我正在做一个SELECT * FROM my_db WHERE id=new_index.

现在,我知道我正在使用的MySQL支持查询select last_insert_id();,所以我想我只需发出该命令并执行它即可。但在深入研究 C#(我用于该项目的编程语言)后,我发现MySqlCommand has a LastInsertedId field.

现在令我困惑的是,我期望该领域的吸气剂也能做同样的事情select last_insert_id();查询,但是在查看 MySQL 的日志时,我发现根本没有进行这样的查询。

所以我的问题是,如何MySqlCommand.LastInsertedId当MySQL服务器自动生成ID时,知道我插入的元组被分配了什么ID吗?


当 MySQL 服务器在 UPDATE 查询后响应客户端软件(在您的情况下是 Connector/Net)时,它会发送一个所谓的OK_Packet通过 TCP(或套接字)连接 https://dev.mysql.com/doc/internals/en/packet-OK_Packet.html。该数据包包含last_insert_id 值。

在服务器上,任何 INSERT 查询都可以使用它,无需其他查询,因此线路协议处理程序只需将其放入响应数据包中。

客户端软件从数据包中提取该值并将其呈现给您的应用程序软件最后插入的ID https://dev.mysql.com/doc/dev/connector-net/html/P_MySql_Data_MySqlClient_MySqlCommand_LastInsertedId.htm财产。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySqlCommand.LastInsertedId 如何工作? 的相关文章

  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • VB.NET 中的静态方法实现

    我很困惑Static在 VB NET 中的实现 在 C 中 我们可以创建静态类和静态方法来为我们的应用程序编写实用方法 现在 VB NET 让我们创建Module代替静态类 如果我们在模块中创建一个方法 默认情况下它会变成静态的 但在我的应
  • 如何从 PostgreSQL 中的时间戳列值提取一天中的时间(或小时)?

    我正在尝试从 PostgreSQL 中的 时间戳 列中提取一天中的时间 这是我的做法 但是 太糟糕了 知道如何做得更好吗 SELECT date part hour date demande text hours date part min
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • 当所有维度值都具有 100% 重要性时处理多对多维度

    我至少会尽力保持简洁 假设我们正在跟踪一段时间内的账户余额 所以我们的事实表将包含诸如 账户余额情况表 FK 账户ID FK 日期ID Balance 显然你有一个账户维度表 and a 日期维度表 所以现在我们可以轻松地过滤帐户或日期 或
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • Angular/SignalR 错误:无法完成与服务器的协商

    对我的服务器使用 SignalR 对我的客户端使用 Angular 当我运行客户端时 我收到以下错误 zone js 2969 OPTIONS https localhost 27967 chat negotiate 0 Utils js
  • 如何捕获每个 PID 的网络数据包?

    有人知道一种简单的方法来要求Linux 显示来自 来自google chrome的每个互联网数据包 或 显示来自 来自PID 10275的telnet进程的每个互联网数据包 吗 telnet 示例不太有用 因为我只能使用wireshark
  • React-native ios Podfile 问题与“use_native_modules!”

    在我的反应本机项目中 电子邮件受保护 cdn cgi l email protection 在我运行的 ios 目录中pod install并得到这个错误 Invalid Podfile file no implicit conversio
  • 允许使用应用程序内主页按钮导航至主页吗?

    我想知道应用程序内主页按钮的实现 该按钮可以将您从任何页面返回到主页 据我记得 WP7 开发指南不允许这样做 但我找不到任何相关的书面信息 有谁知道这写在哪里吗 通常不鼓励使用主页按钮 msdn源 http msdn microsoft c
  • C 中的 Malloc 与结构

    我有一个结构 struct numbers struct char numbers array 1000 struct numbers struct numbers some size 创建struct后 有一个整数作为输入 scanf d
  • 无法在构造函数中分配 this [重复]

    这个问题在这里已经有答案了 我正在尝试合并来自的道具values into this 以下会引发错误 我怎样才能做到这一点 this this values 你可以延长this with 对象 分配 https developer mozi
  • 如何处理自定义 PyYAML 构造函数中的递归?

    PyYAML 可以处理常规 python 对象中的循环图 例如 片段 1 class Node pass a Node b Node a child b b child a We now have the cycle a gt b gt a
  • 使用 Python,如何获取 Google protobuf 消息的二进制序列化?

    我在中看到函数 SerializeAsStringprotobuf Python 文档 http code google com apis protocolbuffers docs reference python google proto
  • selenium webdriver 支持 IE10 Metro?

    selenium webdriver 是否支持 IE10 Metro 默认情况下 测试在桌面模式下运行 有什么办法可以在 Metro 模式下测试吗 不 在撰写本文时 还不支持使用 Metro 界面进行自动化 对不起 然而 Selenium
  • 获取 User.identity 的名字和姓氏

    我有一个使用 Windows 身份验证设置的 Intranet 应用程序 我需要在标题中显示用户名和用户的姓名首字母 例如 欢迎j史密斯JS 到目前为止我做了什么 div class header profile name Welcome
  • 如果我在全局范围内声明一个没有大小的数组,会得到什么?

    In 答案之一 https codegolf stackexchange com a 5163 38214 in C 语言打高尔夫球的技巧 https codegolf stackexchange com q 2203 38214 我看到了
  • HTTP 标头中的额外空间在 HAProxy 上导致 400 错误

    我们最近从 Citrix 切换到 HAProxy 来实现负载平衡 问题是 对于某些请求 HAProxy 开始给出 400 错误 过去在 citrix 上运行良好 因此 我们暂时从基于 HTTP 的负载平衡转向基于 TCP 的负载平衡 经过进
  • PHP:只有在成功登录后才能访问文件夹的文件

    现在 在我的网站中 我成功登录后成功将用户重定向到www mysite com protected files redirect php页面通过在我的上使用类似的东西www mysite com login php page if logi
  • 检测 Windows 中的全屏模式

    我需要检测某些应用程序当前是否正在全屏模式下运行 如果是 那么我必须停止我的申请 那么 我怎样才能检测到呢 附注Win32 C 所有其他答案都相当黑客 Windows Vista Windows 7 及更高版本支持SHQueryUserNo
  • 如何通过 .Net MVC4 中的 JSON 通过 ajax 调用将复杂的视图模型传递到控制器操作中?

    因此 我尽可能多地搜索 Stack Overflow 但找不到这个特定问题的答案 如果已经有人问过这个问题 我们深表歉意 我找到了以下问题的答案 如何将对象 类传递给操作 如何通过查询字符串将对象传递给操作 如何通过 json 将对象传递给
  • 如何将 rpy2 指向现有的 R 安装?

    我安装了两个 R 有没有办法将 rpy2 明确指向其中一个 我相信 phonixor是对的 rpy2 使用它在路径中找到的 R 如果你想改变这一点 就改变你的道路 PATH path to r bin PATH
  • 如何检索局部变量?

    是否可以从我在 matlab 中运行的程序函数中检索局部变量 即我想从代码中检索一个变量 该变量未出现在输出中 提前致谢 下面描述了添加到函数本身以使变量在本地范围之外可用的代码 当您无法更改函数时 从外部当然无法更改范围 这是预期的 正确
  • 如何删除 Android 上的系统栏,我的意思是,所有

    我对 Android 编程还很陌生 几周前就开始了 Stackoverflow 这是我自 android 第一天以来最好的新油炸 第一次 我想真正寻求帮助 而不是在其他地方阅读它 主要是因为我无法在 任何地方 找到我的问题的答案 我正在使用
  • 为什么我们应该将模板包装在脚本块内?

    背景 所有 JS 模板引擎都建议将模板文本放入脚本块中 如下所示 但许多开发人员 可以理解 不喜欢这样做 因为他们在脚本块内的代码编辑器中失去了 HTML 语法突出显示 我见过这样的解决方法 在 text html 模板中保持正确的 HTM
  • MySqlCommand.LastInsertedId 如何工作?

    在我的一个项目中 我必须从数据库中获取最后插入的 ID 以便我可以将新插入的数据与内存中的数据同步 而无需执行SELECT FROM my db 查询 即我正在做一个SELECT FROM my db WHERE id new index