我正在使用 Nodejs 并使用expressjs框架,现在我正在尝试获取 “最后插入的 id”,但我在控制台中收到“未定义”,如何获取最后插入的 id?这是我当前的代码
static async addServiceDetail(salonId,serviceId,genderTypeId,price,serviceName)
{
const sql = `SELECT id from hc_servicesdetail WHERE shopId='${shopId}' AND serviceId='${serviceId}' AND genderTypeId='genderTypeId'`;
const [rows, fields] = await pool.execute(sql);
if(rows<1)
{
const sql2 = `INSERT INTO hc_servicesdetail (shopId, serviceId, genderTypeId,price,serviceName) VALUES ("${shopId}", "${serviceId}", "${genderTypeId}", "${price}","${serviceName}")`;
const datass = await pool.execute(sql2);
console.log('last inserted id is ' +datass.insertId);
}
else
{
console.log('already exist');
}
}
}
module.exports = User; Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
使用
result.insertId属性。此属性在执行INSERT查询时执行的回调函数中可用。static async addServiceDetail(shopId, serviceId, genderTypeId, price, serviceName) { const sql = `SELECT id from hc_servicesdetail WHERE shopId='\${shopId}' AND serviceId='\${serviceId}' AND genderTypeId='\${genderTypeId}'`; const [rows, fields] = await pool.execute(sql); if (rows请注意,我在第一个 SQL 查询中将
genderTypeId='genderTypeId'更改为ngenderTypeId='\${genderTypeId}'。这应该修复语法错误。