使用Mysql检索最后插入的id

时间:2015-07-12 18:23:00

标签: mysql node.js

美好的一天,

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

我知道有mysqli_insert_id函数,但是:

  1. 我无法指定表格
  2. 如果同时进行查询,可能会有检索错误ID的风险。
  3. 我正在使用node.js MySQL
  4. 我不想承担查询最高ID的风险,因为有很多查询,它可能会给我错误的...

    (我的id列是自动增量)

2 个答案:

答案 0 :(得分:96)

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中移动的repo,所以我改为当前链接。

答案 1 :(得分:-2)

我认为您误解了mysqli_insert_id()方法的使用。必须在insert语句之后执行立即以获取最后插入的id。如果你直接使用我的MySQL

INSERT INTO(a,b)values(1,'test');
SELECT LAST_INSERT_ID();  -- this will display the last inserted id