Maison > Questions et réponses > le corps du texte
J'utilise Nodejs et le framework expressjs et maintenant j'essaie d'obtenir « Dernier identifiant inséré » mais j'obtiens « non défini » dans la console, comment puis-je obtenir le dernier identifiant inséré ? C'est mon code actuel
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;
P粉7318612412024-03-20 15:00:01
Disponible dans la fonction de rappel exécutée lors d'une requête utilisant 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 < 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'); } }
Notez que j'ai ajouté genderTypeId='genderTypeId'
更改为 ngenderTypeId='${genderTypeId}'
dans la première requête SQL. Cela devrait corriger l'erreur de syntaxe.