Maison  >  Article  >  base de données  >  Comment récupérer le dernier identifiant inséré dans MySQL avec Node.js ?

Comment récupérer le dernier identifiant inséré dans MySQL avec Node.js ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-15 13:23:03661parcourir

How to Retrieve the Last Inserted ID in MySQL with Node.js?

Récupération du dernier ID inséré avec MySQL et Node.js

Lorsque vous traitez des opérations de base de données, il existe souvent des scénarios dans lesquels vous devez récupérer l'ID de la ligne récemment insérée. Dans MySQL, cela peut être réalisé en utilisant la fonction mysqli_insert_id(). Cependant, pour les utilisateurs de Node.js MySQL, cette méthode présente certaines limitations et problèmes de sécurité.

Surmonter les limitations et les risques de sécurité

Les limitations et les risques mentionnés dans la question inclut :

  1. Manque de spécificité de la table : mysqli_insert_id() fait ne permet pas de spécifier la table pour laquelle vous souhaitez récupérer l'ID.
  2. Collision potentielle de récupération d'ID : Plusieurs requêtes exécutées simultanément pourraient entraîner une récupération d'ID incorrecte.
  3. Compatibilité avec Node.js MySQL : mysqli_insert_id() est une fonction PHP et n'est pas directement applicable dans Node.js MySQL.

Solution utilisant connection.query()

Pour relever ces défis, vous pouvez utiliser la méthode connection.query() dans Node .js MySQL, comme décrit dans la documentation. Cette approche offre plus de contrôle et de sécurité :

connection.query('INSERT INTO posts SET ?', {title: 'test'}, function(err, result, fields) {
  if (err) throw err;

  console.log(result.insertId);
});

Dans cet exemple, après l'exécution de la requête d'insertion, l'objet résultat contient l'ID d'insertion dans la propriété insertId. Cette méthode garantit que vous récupérez l'ID correct et élimine les risques associés à l'utilisation de mysqli_insert_id().

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn