Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Melaksanakan Berbilang Pernyataan SQL dalam Satu Pertanyaan Menggunakan Node-MySQL?

Bagaimanakah Saya Boleh Melaksanakan Berbilang Pernyataan SQL dalam Satu Pertanyaan Menggunakan Node-MySQL?

DDD
Lepaskan: 2024-12-20 02:30:15
asal
489 orang telah melayarinya

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

Sokongan Pertanyaan Berbilang Pernyataan dalam Node-MySQL

Dalam Node.js, persoalan timbul apabila melaksanakan berbilang pernyataan SQL dalam satu pertanyaan menggunakan pakej node-mysql.

Kod yang disediakan oleh pengguna cuba memadam rekod daripada empat jadual menggunakan koma bertitik (;) untuk mengasingkan pernyataan. Walau bagaimanapun, ini mengakibatkan ralat yang menyatakan bahawa terdapat ralat dalam sintaks SQL.

Dokumentasi nod-mysql pada asalnya melumpuhkan sokongan untuk berbilang kenyataan atas sebab keselamatan, kerana ia boleh membawa kepada serangan suntikan SQL. Untuk mendayakan ciri ini, anda perlu menetapkan berbilangPenyataan kepada benar apabila membuat sambungan:

var connection = mysql.createConnection({multipleStatements: true});
Salin selepas log masuk

Dengan berbuat demikian, anda boleh melaksanakan berbilang kenyataan dengan pemisah koma bertitik, dan hasilnya akan menjadi tatasusunan dengan satu elemen untuk setiap pernyataan.

Contoh:

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}]
});
Salin selepas log masuk

Dalam anda kes, dengan menetapkan berbilangPenyata kepada benar, kod awal anda seharusnya berjaya melaksanakan empat penyataan DELETE dalam satu pertanyaan, menghapuskan keperluan untuk berbilang pertanyaan dan meningkatkan kecekapan kod.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Berbilang Pernyataan SQL dalam Satu Pertanyaan Menggunakan Node-MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan