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

使用MySQL检索最后插入的ID

秦皓君
2023-03-14
问题内容

美好的一天,

我愿意检索Mysql中新插入的行的id值。

我知道有mysqli_insert_id函数,但是:

  1. 我无法指定表格
  2. 如果同时进行查询,则可能有检索错误ID的风险。
  3. 我正在使用node.js MySQL

我不想冒着查询最高ID的风险,因为有很多查询,这可能会给我一个错误的查询…

(我的ID列是自动递增的)


问题答案:

https://github.com/mysqljs/mysql#getting-the-id-of-an-inserted-
row

很好地描述了该解决方案:

connection.query('INSERT INTO posts SET ?', {title: 'test'}, function(err, result) {
  if (err) throw err;

  console.log(result.insertId);
});

编辑:拼写和回购在github中移动,所以我更改为当前链接。



 类似资料:
  • 问题内容: 我正在将PHP PDO与PostgreSQL一起用于新项目。 给定以下功能,如何返回刚刚插入的行的ID?它不像现在那样工作。 问题答案: 从手册: 根据基础驱动程序,返回最后插入的行的ID或序列对象的最后一个值。例如,PDO_PGSQL()要求您为name参数指定序列对象的名称。 应该是这样的: [编辑]更新文档链接

  • 问题内容: 我有以下查询: 我想要插入或更新的ID。通常我运行第二个查询以获取此信息,因为我相信insert_id()仅返回“插入的” ID,而不返回更新的ID。 有没有一种方法可以在不运行两个查询的情况下进行INSERT / UPDATE和检索行ID? 问题答案: 检出此页面:https : //web.archive.org/web/20150329004325/https : //dev.m

  • 问题内容: 我正在使用MySql Connector .net,我需要获取上一次查询生成的插入ID。现在,我假设返回值应该是最后一个插入ID,但它只返回1。 我使用的代码是: 但是总是1。我尝试创建MySql连接并手动打开/关闭,这导致了相同的行为 问题答案: 1是受查询影响的记录数,此处仅插入一行,因此1返回 为了获取插入行的ID,必须在sqlserver和MySql中使用

  • 我插入批量插入laravel 5像这样: 知道如何获取最后一个插入的id吗?

  • 问题内容: 我目前正在使用以下代码在表中插入数据: 我想返回插入的最后一个ID,但我不知道如何获取它。 亲切的问候! 问题答案: 后 保存 ,应该是最后的ID插入。 可以这样使用。 对于更新的laravel版本,请尝试此

  • 问题内容: 我想在Hibernate中获取最后插入的值的ID。 搜索后: 但是以下代码给了我这个错误: java.lang.ClassCastException:无法将java.math.BigInteger强制转换为java.lang.Long 请分享您的想法! 解 不要忘记导入: 导入java.math.BigInteger; 问题答案: 错误很明显。它回来了而不是 您必须将其分配给。从中得到