【问题标题】:Is there any way to simply execute a long MySQL query from node.js?有什么方法可以简单地从 node.js 执行一个长的 MySQL 查询?
【发布时间】:2012-02-05 04:55:58
【问题描述】:

我所知道的唯一可靠的 MySQL 支持是通过node-mysql,它在文档中特别说明:

警告:尚不支持sql 包含多个用分号分隔的查询的语句。

哪种糟透了...因为我需要一次插入 更新大量行并涉及一些逻辑,并且可以通过一个包含 IF 的大型 MySQL 查询轻松完成和ELSEs。我无法想象我如何简单地将所有逻辑转移到 node.js 端,而不会对代码的性能和复杂性造成巨大损失。所以我还没有准备好放弃纯 SQL 解决方案。

我有任何方法可以相对轻松地从 node.js 执行大型 SQL 查询吗?

【问题讨论】:

  • 对于它的价值,请参阅使用 MySQL 在一个查询中进行多次插入:stackoverflow.com/questions/8899802/…
  • 批量插入对我来说真的不起作用,因为我需要为每个插入执行逻辑,根据日期比较和其他一些变量决定是插入行还是更新现有行

标签: mysql node.js node-mysql


【解决方案1】:

您能否在存储过程中定义您的逻辑,然后将其作为单个语句调用(传递您需要的任何参数)?

【讨论】:

  • 听起来是个好主意。我该怎么做呢?我有一个提要,一次收到 5 到 40 行的所有内容。我的数据库中的每一行(可能大约 1000 行)都应该将它们的状态设置为“离线”,然后应该将提要中的每一行插入到数据库中。他们可能已经在那里,所以在这种情况下他们应该更新行中的所有信息(通过一个唯一的列)。否则它们应该被清楚地插入。您如何建议使用存储过程来执行此操作?
  • 在上述过程中,从表中获取 no 数据也很重要。这是我目前的主要问题,也是我想使用纯 SQL(简单事务)的原因
  • 您能否提供一个基本的表结构和一组带有预期输出的测试数据等,我会尽力帮助您走上正确的道路?谢谢。
猜你喜欢
  • 1970-01-01
  • 2011-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 2015-02-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多