Node-MySQL 中的多語句查詢
在Node-mysql 中,可以透過連接多個SQL 語句在單一查詢中執行分號(;)。但是,出於安全原因,預設情況下會停用此功能。要啟用它,請在連接選項中設定 multipleStatements: true。
要使用多語句查詢,請建構一個 SQL 字串,其中語句之間用分號分隔。例如:
var sql_string = "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';";
然後,使用connection.query(sql_string,callback)執行查詢。回呼函數將接收一個錯誤物件(如果有)和每個語句的結果集數組。
範例:
var connection = mysql.createConnection({multipleStatements: true}); connection.query(sql_string, function(err, results) { if (err) throw err; // results is an array containing the results of each statement res.send('true'); });
請注意,您可能會遇到如果 SQL Server 版本太舊或資料庫驅動程式設定不正確,則會發生錯誤。在這種情況下,建議單獨執行語句。
以上是如何使用 Node-MySQL 在單一查詢中執行多個 SQL 語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!