Mysql
 sql >> Baza danych >  >> RDS >> Mysql

node-mysql wiele instrukcji w jednym zapytaniu

Chyba używasz node-mysql . (ale powinno również działać dla node-mysql2 )

dokumentacja mówi:

Obsługa wielu instrukcji jest wyłączona ze względów bezpieczeństwa (pozwala na ataki typu SQL injection, jeśli wartości nie są poprawnie chronione).

Zapytania o wiele instrukcji

Aby korzystać z tej funkcji, musisz włączyć ją dla swojego połączenia:

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

Po włączeniu możesz wykonywać zapytania z wieloma instrukcjami, oddzielając każdą instrukcję średnikiem ; . Wynikiem będzie tablica dla każdej instrukcji.

Przykład

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}]
});

Więc jeśli włączyłeś multipleStatements , Twój pierwszy kod powinien działać.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ścieżka edukacyjna MySQL

  2. Jak usunąć rekord MySQL po określonym czasie?

  3. Przekonwertować schemat MySQL na Github Wiki?

  4. Problemy z porównywaniem liczb zmiennoprzecinkowych MySQL

  5. Jaka jest lokalizacja klienta mysql .my.cnf w XAMPP dla Windows?