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中文网其他相关文章!