首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysqljs,一个查询中的多个查询

Mysqljs,一个查询中的多个查询
EN

Stack Overflow用户
提问于 2017-04-18 21:30:45
回答 1查看 78关注 0票数 0

有没有一种方法可以执行由多个查询组成的SQL查询?

以下示例返回语法错误:

代码语言:javascript
复制
connection.query('UPDATE table1 SET field="1" WHERE id=1; UPDATE table1 SET field="2" WHERE id=2;'
,function(error, results, fields) {});
EN

回答 1

Stack Overflow用户

发布于 2017-04-18 22:19:55

您可能会发现您的MySQL包不支持多语句查询。目前还不清楚您使用的是哪个MySQL包(有几个)。一些语言中的一些连接器确实提供了这种功能(我特别想到了PHP ),但我不知道是否有node.js包提供这种功能。

然而..。无论如何,这不是一个好的做法。要了解原因,请考虑将整个查询列表作为一个很长的字符串运行:

代码语言:javascript
复制
connection.query(`
    UPDATE table1 SET field='a' WHERE id=1;
    UPDATE table1 SET field='b' WHERE id=2;
    UPDATE table1 SIT field='c' WHERE id=3;
    UPDATE table1 SET field='d' WHERE id=4;
    UPDATE table1 SET field='e' WHERE id=5;
`, function (err, results, fields) {});

这个查询将失败,并出现MySQL语法错误,因为我故意拼写错了一个关键字。但是,您只会从MySQL连接器得到一个“语法错误”,您需要仔细检查每个查询以查找问题所在。对于像这样的简单错误,可能不会太难,但如果您正在构建具有复杂逻辑的较长查询,并将它们连接到一个长字符串中,则调试将非常困难。

您可能正在尝试通过这种方式来提高性能,但您所获得的任何性能提升都是微不足道的。

TL;DR一次运行一个查询。它使查找问题变得更容易,这将超过您可能获得的任何性能好处。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43473671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档