Ausführen mehrerer SQL-Anweisungen in einer einzelnen Abfrage mit node-mysql
Sie haben erwähnt, dass beim Ausführen mehrerer DELETE-Anweisungen in einer einzelnen Abfrage mit ein Fehler aufgetreten ist Knoten-MySQL. Um dieses Problem zu beheben, sollten Sie die Unterstützung für mehrere Anweisungen in Ihrer Verbindungskonfiguration aktivieren.
Mehrere Anweisungsabfragen aktivieren
In der Node-MySQL-Dokumentation wird die Unterstützung für mehrere Anweisungen erläutert ist aus Sicherheitsgründen zunächst deaktiviert, um SQL-Injection-Angriffe zu verhindern. Um es zu aktivieren, fügen Sie die folgende Zeile zu Ihrer Verbindungskonfiguration hinzu:
var connection = mysql.createConnection({multipleStatements: true});
Mehrere Anweisungen ausführen
Sobald mehrere Anweisungen aktiviert sind, können Sie eine Abfrage mit mehreren ausführen Anweisungen, indem Sie jede Anweisung durch ein Semikolon (;) trennen. Das Ergebnis ist ein Array, das ein Array für jede Anweisung enthält.
Beispiel
Betrachten Sie den folgenden Code:
connection.query('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';', [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}] });
Durch die Aktivierung mehrerer Anweisungen Wenn Sie die Anweisungen ordnungsgemäß durch Semikolons trennen, sollten Sie in der Lage sein, alle Ihre DELETE-Vorgänge in einer einzigen Abfrage auszuführen.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere SQL-Anweisungen in einer einzelnen Node-MySQL-Abfrage ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!