首页 > 数据库 > mysql教程 > 如何使用 Node-MySQL 在单个查询中执行多个 SQL 语句?

如何使用 Node-MySQL 在单个查询中执行多个 SQL 语句?

DDD
发布: 2024-12-20 02:30:15
原创
488 人浏览过

How Can I Execute Multiple SQL Statements in a Single Query Using Node-MySQL?

Node-MySQL 中的多语句查询支持

在 Node.js 中,在单个查询中执行多个 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板