【问题标题】:running a SQL query in a loop from the command line从命令行循环运行 SQL 查询
【发布时间】:2015-03-29 02:42:40
【问题描述】:

我有一个相当复杂的查询,需要运行几千次,参数取自另一个表列中的值。以任何理智的方式写成简单的 JOIN 都太复杂了。

每次执行查询大约需要 6 秒,因此编写 PHP 脚本来执行此循环可能只会让我的 Web 服务器崩溃。有没有办法可以在 OSX 的命令行中执行此操作? (我意识到这开始进入超级用户领域,我应该在那里问它吗?)。

我想做的是:

  1. 运行查询以从 table1.columnA 获取我需要的值。
  2. 将这些值 (valueA) 存储到某种数组中。
  3. 遍历这个数组,并对每个值执行我的复杂查询:

INSERT INTO table2 (id, :valueA) SELECT id from table3 WHERE id NOT IN (COMPLEX_SUBQUERY) AND tableXYZ.value = :valueA

最好的解决方案似乎是在某种 shell 脚本中执行此操作,但坦率地说,Unix 脚本对我来说仍然有点黑魔法。我更喜欢用 PHP 编写脚本,但我想如果我尝试将其作为 PHP 脚本来执行,Apache 会吓坏的。

【问题讨论】:

    标签: mysql macos command-line


    【解决方案1】:

    我无法发表评论,但我可以告诉你,你完全可以使用 php 作为命令行脚本语言,而完全不涉及网络服务器。

    从 cli 中尝试:php script.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-07
      • 2013-11-09
      • 2022-10-03
      • 1970-01-01
      • 1970-01-01
      • 2016-12-18
      • 2015-04-08
      • 2015-01-07
      相关资源
      最近更新 更多