Heim >Datenbank >MySQL-Tutorial >Wie kann ich mit Node-MySQL mehrere SQL-Anweisungen in einer einzigen Abfrage ausführen?
Multi-Statement Query Support in Node-MySQL
In Node.js stellt sich die Frage, wenn mehrere SQL-Anweisungen in einer einzigen Abfrage ausgeführt werden unter Verwendung des Node-MySQL-Pakets.
Der vom Benutzer bereitgestellte Code versucht, Datensätze aus vier Tabellen mithilfe von a zu löschen Trennen Sie die Anweisungen durch ein Semikolon (;). Dies führt jedoch zu einer Fehlermeldung, die besagt, dass ein Fehler in der SQL-Syntax vorliegt.
Die Node-MySQL-Dokumentation deaktivierte ursprünglich aus Sicherheitsgründen die Unterstützung mehrerer Anweisungen, da dies zu SQL-Injection-Angriffen führen könnte. Um diese Funktion zu aktivieren, müssen Sie beim Erstellen einer Verbindung multipleStatements auf true setzen:
var connection = mysql.createConnection({multipleStatements: true});
Auf diese Weise können Sie mehrere Anweisungen mit einem Semikolon-Trennzeichen ausführen und das Ergebnis ist ein Array mit ein Element für jede Aussage.
Beispiel:
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}] });
In Ihrem Fall durch Einstellung Wenn Sie multipleStatements auf „true“ setzen, sollte Ihr anfänglicher Code die vier DELETE-Anweisungen in einer einzigen Abfrage erfolgreich ausführen, wodurch die Notwendigkeit mehrerer Abfragen entfällt und die Codeeffizienz verbessert wird.
Das obige ist der detaillierte Inhalt vonWie kann ich mit Node-MySQL mehrere SQL-Anweisungen in einer einzigen Abfrage ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!