首頁 >資料庫 >mysql教程 >如何使用 Node-MySQL 在單一查詢中執行多個 SQL 語句?

如何使用 Node-MySQL 在單一查詢中執行多個 SQL 語句?

Patricia Arquette
Patricia Arquette原創
2024-12-12 21:21:18340瀏覽

How to Execute Multiple SQL Statements in a Single Query with Node-MySQL?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn