javascript - conn.query结果的访问ID

标签 javascript mysql node.js

执行一条sql查询后,我想访问返回事件的id(主键),以便我可以在另一个sql中使用它。我尝试使用 result.insertId 访问它,但返回的事件对象似乎为 null。我什至控制台记录了 result.insertId 但结果只是“未定义”

var sql = "SELECT  * FROM events WHERE events.start_time > '" + dateSql +
        "' ORDER BY events.start_time ASC LIMIT 1;"
    con.query(sql, function(err, result) {
        if (err) throw err
        console.log(result.insertId)
        var sql = 'SELECT admins.first_name FROM events INNER JOIN admins_has_events ' +
            'ON events.id = admins_has_events.events_id INNER JOIN admins ON ' +
            "admins_has_events.admins_id = admins.id WHERE events.id = '" + result.insertId + "';"
        con.query(sql, function(err, result) {
            if (err) throw err
        })

最佳答案

你试过吗

result[0].id;  // if the ID column name is id
  • insertId 用于在 INSERT 后获取自动增量 ID。它不适用于 SELECT
  • 当您选择时,结果将是行数组。在您的情况下,自 LIMIT 1 以来,有零行或一行。因此,您可以通过执行 if (result.length === 0) {//not found, do some else }< 来检查 ID 是否存在。/

关于javascript - conn.query结果的访问ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55320457/

相关文章:

javascript - 在数组中搜索包含在另一个数组中的属性值

javascript - 如何在 react 中验证多步表单

mysql - 如何选择直到总和达到某个值

php - 在 Doctrine 查询构建器中调用自定义 MySql 函数 查询

node.js - 如何在 Node.js 应用程序中使用 firebase 身份验证?

javascript - 如何使用 webpack 服务器端处理静态 Assets ?

javascript - Vue/Nuxt 异步元标记生成

javascript - 如何在 React 中设置和取消设置主体缩放级别

php - 从多维数组构建 MySQL 插入语句

javascript - AngularJS SPA : How to Angular Controller SPA to call Angular service?