nodejs MySQL sqlPool.query 插入后 返回的 results中的 insertId 值 不用async/await
时间: 2024-10-10 09:13:04 浏览: 44
async/await与promise(nodejs中的异步操作问题)
5星 · 资源好评率100%
在Node.js中,使用`mysql`库创建的SQL池(`sqlPool.query()`)执行插入操作后,如果你想获取`insertId`值而不需要使用`async/await`处理异步操作,你可以直接调用查询方法并设置回调函数。这里是一个示例:
```javascript
const mysql = require('mysql');
// 创建数据库连接池
const pool = mysql.createPool({
// 连接配置...
});
pool.query(
'INSERT INTO your_table (column1, column2) VALUES (?, ?)',
[value1, value2],
function(err, results, fields) {
if (err) {
console.error('Error inserting data:', err);
} else {
// 如果没有错误,results[0].insertId将包含刚插入行的ID
const insertId = results[0] && results[0].insertId;
console.log('Inserted row ID:', insertId);
}
pool.release(); //记得释放连接资源
}
);
```
在这个例子中,当你调用`pool.query()`后,它会立即执行插入操作并在回调函数中返回结果。如果没有错误,`results`数组的第一个元素(通常在插入操作中只有一个结果)的`insertId`属性将包含新插入记录的标识。
阅读全文