MySQL单查询用多语句问题:node-mysql2局部开启multipleStatement报错
解决mysql2单查询开启多语句执行的语法错误问题
你遇到的问题核心是配置项拼写错误——mysql2里控制多语句执行的选项是复数形式的multipleStatements,不是你写的单数multipleStatement,这直接导致多语句功能没被正确启用,MySQL服务器自然会把分号后的内容当成语法错误。
修正后的正确写法:
const [result1, result2] = await connection.query({ sql: "SELECT * FROM table1; SELECT * FROM table2;", multipleStatements: true });
注意点:
- 多语句执行成功后,返回的是一个包含多个结果集的数组,每个结果对应一条SQL语句的执行结果,可以通过解构赋值分别接收。
- 既然你是出于安全考虑没全局开启这个选项,那在这个特定查询里一定要确保SQL语句是完全可控的,绝对不要拼接用户输入的内容,避免SQL注入风险。
内容的提问来源于stack exchange,提问作者Marwan
相关产品推荐
相关产品推荐

