Maison > base de données > tutoriel mysql > Comment puis-je exécuter plusieurs instructions SQL dans une seule requête à l'aide de Node-MySQL ?

Comment puis-je exécuter plusieurs instructions SQL dans une seule requête à l'aide de Node-MySQL ?

DDD
Libérer: 2024-12-20 02:30:15
original
521 Les gens l'ont consulté

How Can I Execute Multiple SQL Statements in a Single Query Using Node-MySQL?

Prise en charge des requêtes multi-instructions dans Node-MySQL

Dans Node.js, la question se pose lors de l'exécution de plusieurs instructions SQL dans une seule requête en utilisant le package node-mysql.

Le code fourni par l'utilisateur tente de supprimer les enregistrements de quatre tables à l'aide d'un point-virgule (;) pour séparer les déclarations. Cependant, cela entraîne une erreur indiquant qu'il y a une erreur dans la syntaxe SQL.

La documentation node-mysql désactivait à l'origine la prise en charge de plusieurs instructions pour des raisons de sécurité, car cela pourrait conduire à des attaques par injection SQL. Pour activer cette fonctionnalité, vous devez définir multipleStatements sur true lors de la création d'une connexion :

var connection = mysql.createConnection({multipleStatements: true});
Copier après la connexion

Ce faisant, vous pouvez exécuter plusieurs instructions avec un séparateur point-virgule, et le résultat sera un tableau avec un élément pour chaque affirmation.

Exemple :

connection.query('SELECT ?; SELECT ?', [1, 2], function(err, results) {
  if (err) throw err;

  // `results` is an array with one element for every statement in the query:
  console.log(results[0]); // [{1: 1}]
  console.log(results[1]); // [{2: 2}]
});
Copier après la connexion

Dans votre cas, en définissant multipleStatements sur true, votre code initial doit exécuter avec succès les quatre instructions DELETE dans une seule requête, éliminant ainsi le besoin de plusieurs requêtes et améliorant l'efficacité du code.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal