Nodejs : récupérer le dernier identifiant inséré
P粉463824410
P粉463824410 2024-03-19 22:36:08
0
1
338

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粉463824410
P粉463824410

répondre à tous(1)
P粉731861241

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 

Notez que j'ai ajouté genderTypeId='genderTypeId' 更改为 ngenderTypeId='${genderTypeId}' dans la première requête SQL. Cela devrait corriger l'erreur de syntaxe.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal