【问题标题】:Connected to mysql instance ONCE or TWICE?连接到 mysql 实例 ONCE 或 TWICE?
【发布时间】:2009-10-19 11:50:03
【问题描述】:

我想知道是否以下命令(来自 .bat 脚本):

(1) 连接到 mysql 实例一次,然后执行脚本#1,然后执行脚本#2,或者 (2) 是否为每个 sql 脚本重新连接?

mysql -B -b -h%HOST% -u%USER% -p%PASSWORD% %SCHEMA% < "scripts\create_and_populate.sql" < "scripts\update_joomla_article.sql"

我有一种不好的感觉,它重新连接了。如果是这样,我将如何更改 .bat 脚本以在不重新连接的情况下一个接一个地执行一个 sql 脚本。干杯:)


编辑:

我最近才发现,很遗憾 :-Z,这个命令实际上并没有像我预期的那样工作。

mysql ... &lt; script1 &lt; script2 &lt; script3 起初似乎可以工作,直到我发现实际上只有 last 链中的脚本被执行。尽管如此,我仍然欢迎任何有关如何以与 Colin Pickard 建议的方式不同的方式完成此任务的建议。

【问题讨论】:

    标签: mysql windows database scripting batch-file


    【解决方案1】:

    您可以使用带有SELECT CONNECTION_ID( ); 的几个脚本来确定您的理论,然后是这样的:

    copy scripts\create_and_populate.sql+scripts\update_joomla_article.sql scripts\temp\create_update.sql
    mysql -B -b -h%HOST% -u%USER% -p%PASSWORD% %SCHEMA% < "scripts\temp\create_update.sql"
    del scripts\temp\create_update.sql
    

    (警告:我还没有测试过!先试试吧!)

    【讨论】:

    • 谢谢,这就像一个魅力。我自己确实有这个想法,但我发现它对于一个简单的问题来说有点太复杂了。然后我认为像mysql ... &lt; script1 &lt; script2 &lt; script3 那样做会起作用,起初它似乎起作用,直到我发现实际上只有链中的最后一个脚本被执行。按照您的建议进行操作非常有效。谢谢。
    【解决方案2】:

    还有一个建议,这行得通吗?

    mysql -e script1 -e script2 -e script3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-05
      • 2020-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多