首页 >数据库 >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