Maison >base de données >tutoriel mysql >Comment exécuter plusieurs instructions SQL dans une seule requête avec Node-MySQL ?

Comment exécuter plusieurs instructions SQL dans une seule requête avec Node-MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-12 21:21:18340parcourir

How to Execute Multiple SQL Statements in a Single Query with Node-MySQL?

Requêtes d'instructions multiples dans Node-MySQL

Dans node-mysql, plusieurs instructions SQL peuvent être exécutées dans une seule requête en les connectant avec points-virgules (;). Cependant, cette fonctionnalité est désactivée par défaut pour des raisons de sécurité. Pour l'activer, définissez multipleStatements : true dans les options de connexion.

Pour utiliser plusieurs requêtes d'instructions, construisez une chaîne SQL avec les instructions séparées par des points-virgules. Par exemple :

var sql_string = "DELETE FROM user_tables WHERE name = 'Testbase';"
                + "DELETE FROM user_tables_structure WHERE parent_table_name = 'Testbase';"
                + "DELETE FROM user_tables_rules WHERE parent_table_name = 'Testbase';"
                + "DELETE FROM user_tables_columns WHERE parent_table_name = 'Testbase';";

Ensuite, exécutez la requête en utilisant connection.query(sql_string, callback). La fonction de rappel recevra un objet d'erreur (le cas échéant) et un tableau d'ensembles de résultats pour chaque instruction.

Exemple :

var connection = mysql.createConnection({multipleStatements: true});

connection.query(sql_string, function(err, results) {
  if (err) throw err;
  
  // results is an array containing the results of each statement
  res.send('true');
});

Notez que vous pouvez rencontrer une erreur si la version du serveur SQL est trop ancienne ou si le pilote de base de données n'est pas configuré correctement. Dans de tels cas, il est recommandé d'exécuter les instructions individuellement.

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