nodejs中的多个语句



我在nodejs项目中使用了mysql2,在mysql库中,我使用了Multiple Statements来更新我的数据库,效果很好,但由于某种原因,在mysql2中它不起作用,我在谷歌上搜索了很多,没有找到任何解决方案,mysql2不支持多个语句吗??

  • 这是多查询

    async function updateChannels(dtz) {
    for (const data of dtz) {
    multipleQuery += `UPDATE myTable SET data='${data.newData}' WHERE data='${data.oldData}';`
    }
    await con.execute(multipleQuery);}
    

在mysql.createConnection中,我添加了多条语句:true

  • 这是错误

未处理的PromiseRejection警告:错误:您的SQL语法有错误;查看与MySQL服务器版本相对应的手册,了解在"UPDATE "附近使用的正确语法

当我在phpMyAdmin控制台中复制并粘贴该查询时,该查询工作得很好

您需要使用查询调用而不是执行:

let rows, field;
try {
[rows, fields] = await connection.query(query);
} catch (err) {
// handle err
}
if (rows) {
// exploit the result
}

但除此之外,是的,execute命令将只允许您运行一条指令。

GitHub:解决问题

您不能用多个语句准备查询。将其拆分为两个或使用未准备好的语句api(dbpool.query(...)(

相关内容

  • 没有找到相关文章

最新更新