Node-MySQL 中的多語句查詢支援
在Node.js 中,在單一查詢中執行多個SQL 語句時會執行多個SQL 語句時會執行多個SQL 陳述出現問題使用node-mysql包。
使用者提供的程式碼嘗試使用分號從四個表中刪除記錄(;) 分隔語句。但是,這會導致錯誤,指出 SQL 語法存在錯誤。
出於安全原因,node-mysql 文件最初禁用了對多個語句的支持,因為這可能會導致 SQL 注入攻擊。要啟用此功能,您需要在建立連接時將multipleStatements 設為true:
var connection = mysql.createConnection({multipleStatements: true});
透過這樣做,您可以執行多個以分號分隔的語句,結果將是一個數組每個語句一個元素。
範例:
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}] });
在您的在這種情況下,透過將multipleStatements 設為true,您的初始程式碼應該在單一查詢中成功執行四個DELETE 語句,從而消除了多個查詢的需要並提高了程式碼效率。
以上是如何使用 Node-MySQL 在單一查詢中執行多個 SQL 語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!