执行一条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/