Melaksanakan Berbilang Pernyataan SQL dalam Pertanyaan Tunggal Menggunakan node-mysql
Anda menyebut menghadapi ralat semasa melaksanakan berbilang kenyataan DELETE dalam satu pertanyaan menggunakan nod-mysql. Untuk menangani isu ini, anda harus mendayakan sokongan untuk berbilang pernyataan dalam konfigurasi sambungan anda.
Mendayakan Pertanyaan Pernyataan Berbilang
Dokumentasi nod-mysql menerangkan bahawa sokongan untuk berbilang pernyataan pada mulanya dilumpuhkan atas sebab keselamatan, menghalang serangan suntikan SQL. Untuk mendayakannya, tambahkan baris berikut pada konfigurasi sambungan anda:
var connection = mysql.createConnection({multipleStatements: true});
Melaksanakan Berbilang Pernyataan
Setelah berbilang pernyataan didayakan, anda boleh melaksanakan pertanyaan dengan berbilang pernyataan dengan mengasingkan setiap pernyataan dengan koma bertitik (;). Hasilnya ialah tatasusunan yang mengandungi tatasusunan untuk setiap pernyataan.
Contoh
Pertimbangkan kod berikut:
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}] });
Dengan mendayakan berbilang pernyataan dan mengasingkan penyataan dengan koma bertitik dengan betul, anda sepatutnya dapat melaksanakan semua operasi DELETE anda dalam satu pertanyaan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Berbilang Pernyataan SQL dalam Pertanyaan Nod-MySQL Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!